我有一个需要转换为HQL查询的SQL查询。
我有一个包含一组组件的类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关键字。
有什么建议吗?
提前致谢!
答案 0 :(得分:1)
您不需要使用ON子句来定义绑定列,Hibernate将从模型中定义的关系推断出它,HQL查询应该适合您
SELECT item.noun, comp.type
FROM InventoryItemInv item
INNER JOIN item.components comp