【问题标题】:Using an INNER JOIN to join two tables in HQL使用 INNER JOIN 连接 HQL 中的两个表
【发布时间】:2015-05-16 13:10:00
【问题描述】:

我有一个 SQL 查询需要转换为 HQL 查询。

我有一个包含一组组件的类 Item。 Item 的 SQL 表是 DBO.W_ITEM,Component 的表是 DBO.W_COMPONENT。

在 SQL 中,我可以毫无困难地这样做......

SELECT
item.noun,
comp.type
FROM
DBO.W_ITEM item
INNER JOIN DBO.W_COMPONENT comp ON item.id = comp.id

但是,我无法让它在 HQL 中工作。

我试过这样...

SELECT
item.noun,
comp.type
FROM
InventoryItemInv item
INNER JOIN item.components comp ON item.id = comp.id

但 HQL 似乎不知道如何处理 ON - 并说这是一个意外的标记。根据所有文献,HQL 支持 ON 关键字。

有什么建议吗?

提前致谢!

【问题讨论】:

    标签: sql hibernate hql inner-join hibernate-mapping


    【解决方案1】:

    你不需要使用 ON 子句来定义绑定列,Hibernate 会从模型中定义的关系推断它,下面的 HQL 查询应该适合你

    SELECT item.noun, comp.type
    FROM InventoryItemInv item
    INNER JOIN item.components comp
    

    【讨论】:

      猜你喜欢
      • 2013-08-25
      • 2016-03-31
      • 2018-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多