2012-02-11 68 views
0

我有两个表,设备包含设备的详细信息(包括设备是否已分配)以及CustDevice,其中包含已分配给客户的设备的附加信息。根据另一个表中的数据从一个表中获取数据的正确Hibernate查询是什么?

我需要从设备表中选择记录,如果它已被分配给特定的客户。

在查询我的第一天真的刺是:

从设备,其中Device.deviceId = CustDevice.deviceId和Device.status = 2,CustDevice.accountId = 33

这显然是行不通的,但它解释了我想要做的关系。 我试图在混合中添加一个连接,但我不知道连接两个表的正确语法。

我想:

从设备DEV加入dev.deviceId CustDevice其中dev.deviceId = CustDevice.deviceId和dev.deviceStatus = 2,CustDevice.accountId = 33

但是,这并不工作。 任何人都可以帮我解决这个问题吗? 谢谢

回答

0

这听起来像是一个左连接,即所有的表加上连接的表,如果它被引用。

这里是和左边的文章加入Hibernate。

http://www.jairrillo.com/blog/2009/01/29/how-to-use-left-join-in-hibernate-criteria/

+0

这并没有多大帮助。我之前可以做到“从Device dev加入dev.deviceId CustDevice”,但是当我添加条件时,它不会那样。此外,这将从两个表中返回列,而不仅仅是设备表。 – Burferd 2012-02-11 18:13:11

相关问题