我一直在尝试此查询的变体,但似乎无法实现。我也引用了这篇文章:Path Expected for Join! Nhibernate Error并且似乎无法将相同的逻辑应用于我的查询。我的 User
对象有一个 UserGroup
集合。
我知道查询需要引用对象中的实体,但从我所看到的情况来看...
@NamedQuery(
name = "User.findByGroupId",
query =
"SELECT u FROM UserGroup ug " +
"INNER JOIN User u WHERE ug.group_id = :groupId ORDER BY u.lastname"
)
最佳答案
select u from UserGroup ug inner join ug.user u
where ug.group_id = :groupId
order by u.lastname
作为命名查询:
@NamedQuery(
name = "User.findByGroupId",
query =
"SELECT u FROM UserGroup ug " +
"INNER JOIN ug.user u WHERE ug.group_id = :groupId ORDER BY u.lastname"
)
在 HQL 语句中使用从一个实体到另一个实体的路径。见 Hibernate documentation on HQL and joins了解详情。
关于java - HQL 错误 : Path expected for join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10448935/