我有课程:
@Entity
public class User {
@ManyToMany
public List<Role> roles = new LinkedList<>();
}
@Entity
public class Role {
}
Jpa / Hibernate为这些类生成了三个表:
现在我想得到具体角色的用户列表f.e。:role_id = 4
我怎样才能实现这个目标?没有像User_Role这样的实体,所以我会要求数据吗?
答案 0 :(得分:1)
感谢JB Nizet,我已经解决了这个问题。
贝娄正在编码:
import play.db.jpa.JPA;
import javax.persistence.Query;
public static List<User> findByRole(Role role) {
Query query = JPA
.em()
.createQuery("select distinct u from User u join u.roles r where r.id =:role_id", User.class)
.setParameter("role_id", role.id);
return query.getResultList();
}