使用 INNER JOIN 连接 HQL 中的两个表
Using an INNER JOIN to join two tables in HQL
我有一个 SQL 查询需要转换为 HQL 查询。
我有一个 class 项目,其中包含一组组件。 Item 的 SQL table 是 DBO.W_ITEM,Component 的 table 是 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 关键字。
有什么建议吗?
提前致谢!
你不需要使用 ON 子句来定义绑定列,Hibernate 会从模型中定义的关系中推断出来,下面的 HQL 查询应该适合你
SELECT item.noun, comp.type
FROM InventoryItemInv item
INNER JOIN item.components comp
我有一个 SQL 查询需要转换为 HQL 查询。
我有一个 class 项目,其中包含一组组件。 Item 的 SQL table 是 DBO.W_ITEM,Component 的 table 是 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 关键字。
有什么建议吗?
提前致谢!
你不需要使用 ON 子句来定义绑定列,Hibernate 会从模型中定义的关系中推断出来,下面的 HQL 查询应该适合你
SELECT item.noun, comp.type
FROM InventoryItemInv item
INNER JOIN item.components comp