HQL 中的多对多关系
我有以下关系:
public class Group {
private Integer id;
(...)
@ManyToMany(cascade=CascadeType.ALL)
@JoinTable(name="rb_user_group",
joinColumns={@JoinColumn(name="group_id")},
inverseJoinColumns={@JoinColumn(name="user_id")})
private List<User> users;
和 :
public class User {
private int id;
(...)
@ManyToMany(cascade=CascadeType.ALL)
@JoinTable(name="rb_user_group",
joinColumns={@JoinColumn(name="user_id")},
inverseJoinColumns={@JoinColumn(name="group_id")})
private List<Group> groups;
}
选择属于设置组名称的某个组的所有用户的正确方法是什么? 我尝试过
session.createQuery("SELECT g.user FROM Group g WHERE g.name=:name").setString("name", group.getName());
,但没有帮助。
I've got the following relations:
public class Group {
private Integer id;
(...)
@ManyToMany(cascade=CascadeType.ALL)
@JoinTable(name="rb_user_group",
joinColumns={@JoinColumn(name="group_id")},
inverseJoinColumns={@JoinColumn(name="user_id")})
private List<User> users;
and :
public class User {
private int id;
(...)
@ManyToMany(cascade=CascadeType.ALL)
@JoinTable(name="rb_user_group",
joinColumns={@JoinColumn(name="user_id")},
inverseJoinColumns={@JoinColumn(name="group_id")})
private List<Group> groups;
}
What is the proper way to select all users that belong to some group where group's name is set?
I tried
session.createQuery("SELECT g.user FROM Group g WHERE g.name=:name").setString("name", group.getName());
but it doesn't help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试:
Try: