我一直在尝试这个查询的变体,似乎无法实现这一点.我也引用了这篇文章:加入的路径预期!Nhibernate错误,似乎无法将相同的逻辑应用于我的查询.我的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"
)
Run Code Online (Sandbox Code Playgroud)
JB *_*zet 121
select u from UserGroup ug inner join ug.user u
where ug.group_id = :groupId
order by u.lastname
Run Code Online (Sandbox Code Playgroud)
作为命名查询:
@NamedQuery(
name = "User.findByGroupId",
query =
"SELECT u FROM UserGroup ug " +
"INNER JOIN ug.user u WHERE ug.group_id = :groupId ORDER BY u.lastname"
)
Run Code Online (Sandbox Code Playgroud)
在HQL语句中使用路径,从一个实体到另一个实体.有关详细信息,请参阅有关HQL和联接的Hibernate文档.
Mar*_*nik 60
您需要将保存关联的实体命名为User.例如,
... INNER JOIN ug.user u ...
Run Code Online (Sandbox Code Playgroud)
这是错误消息抱怨的"路径" - 从UserGroup到User实体的路径.
Hibernate依赖于声明性JOIN,其中连接条件在映射元数据中声明.这就是为什么在没有路径的情况下构造本机SQL查询是不可能的.
| 归档时间: |
|
| 查看次数: |
134950 次 |
| 最近记录: |