Tengo una pregunta con HQL query e hibernate.HQL: consulta de Hibernación con ManyToMany
Tengo una clase de usuario y una clase de función. Un usuario puede tener muchos roles. Así que tengo una relatation ManyToMany así:
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 la clase de papel:
@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;
}
Esta asignación ha creado una mesa de tercera (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.
cuando Pascal Thivent editado esta pregunta cambió joinTable a oinTable y poco capitalizado una oración perfectamente válido antes de eliminar el 'Gracias' desde el final. En serio, ¿cuál era el punto, hacía la pregunta menos legible? –