HQL: consulta de hibernación con ManyToMany
Tengo una pregunta con HQL query e hibernate.
Tengo una clase de usuario y una clase de rol. Un usuario puede tener muchos roles. Así que tengo una relación ManyToMany como esta:
En clase de usuario:
@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;
}
En clase de rol:
@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;
}
Este mapeo ha creado una tercera tabla (PORTAIL_USERROLE) donde se almacenan las relaciones. Todo funciona bien así. Cuando tengo un usuario, recupero roles.
Pero mi pregunta es: en una consulta HQL, ¿cómo puedo obtener todos los usuarios que tienen un rol específico? Cualquier clase representa la tabla PORTAIL_USERROLE, así que no sé cómo hacer mi consulta HQL.