【问题标题】:What is the proper Hibernate Query for fetching data from one table based on data in another table?根据另一个表中的数据从一个表中获取数据的正确 Hibernate 查询是什么?
【发布时间】:2012-03-03 19:03:28
【问题描述】:

我有两个表,Device 包含设备的详细信息,包括是否已分配,而 CustDevice 包含已分配给客户的设备的附加信息。

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

我对查询的第一次幼稚尝试是:

来自 Device,其中 Device.deviceId = CustDevice.deviceId and Device.status=2 and CustDevice.accountId=33

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

我试过了:

从设备 dev 加入 dev.deviceId CustDevice where dev.deviceId = CustDevice.deviceId and dev.deviceStatus = 2 and CustDevice.accountId=33

但这也不起作用。 谁能帮我解决这个问题? 谢谢

【问题讨论】:

    标签: hibernate join hql


    【解决方案1】:

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

    这是关于 Hibernate 中左连接的文章。

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

    【讨论】:

    • 这没有多大帮助。我之前能够做到“从设备开发加入 dev.deviceId CustDevice”,但是当我添加条件时,它不喜欢那样。此外,这会返回两个表中的列,而不仅仅是 Device 表。
    猜你喜欢
    • 1970-01-01
    • 2016-08-04
    • 1970-01-01
    • 2019-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    • 1970-01-01
    相关资源
    最近更新 更多