我有一个关于HQL查询和Hibernate的问题。
我有一个用户类和一个角色类。一个用户可以拥有多个角色。所以我有一个像这样的ManyToMany关系:
在用户类中:
@ManyToMany(fetch = FetchType.LAZY)
@oinTable(name = "PORTAIL_USERROLE", joinColumns = { @JoinColumn(name = "USERID", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "ROLE", nullable = false, updatable = false) })
public Set<Portailrole> getPortailroles() {
return this.portailroles;
}
在角色类中:@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "PORTAIL_USERROLE", joinColumns = { @JoinColumn(name = "ROLE", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "USERID", nullable = false, updatable = false) })
public Set<Portailuser> getPortailusers() {
return this.portailusers;
}
这个映射创建了一个第三张表(PORTAIL_USERROLE),关系储存在其中。这样使用起来都很顺利。当我有一个用户时,我检索角色。
但是我的问题是,在HQL查询中,如何获取所有具有特定角色的用户?没有任何类代表PORTAIL_USERROLE表,所以我不知道如何编写HQL查询。