我有两张桌子:
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String name;
// ... other fields and Getter / Setter methods
}
public class Group{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String name;
@ManyToMany
@JoinTable(name = "group_user", joinColumns = { @JoinColumn(name = "group_id") }, inverseJoinColumns = { @JoinColumn(name = "user_id") })
private List<User> users;
// ... other fields and Getter / Setter methods
}
我想选择所有给定用户所在的群组。
例如,现在我有3组:
我想选择用户5 和用户7 所在的群组。(结果应为群组1 和 2 )
答案 0 :(得分:0)
试试这个,看它是否有效。
Query query = session.createQuery("from Group g join g.users u where u.id in (:ids) ").setParameter("ids", ids); // ids is a list containing the user IDs
List<Group> groups = query.list();