Ho una domanda con query HQL e ibernazione.HQL: Hibernate query with ManyToMany
Ho una classe utente e una classe di ruolo. Un utente può avere molti ruoli. Così ho un relatation ManyToMany come questo:
In classe utente:
@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;
}
In classe ruolo:
@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;
}
Questa mappatura ha creato un terzo tavolo (PORTAIL_USERROLE) in cui sono immagazzinati i rapporti. Tutto funziona bene così. Quando ho un utente, recupero i ruoli.
Ma la mia domanda è: in una query HQL, come posso ottenere tutti gli utenti che hanno un ruolo specifico? Qualsiasi classe rappresenta la tabella PORTAIL_USERROLE, quindi non so come rendere la mia query HQL.
quando Pascal Thivent modificato questa domanda ha cambiato JoinTable a oinTable e un capitalizzato una frase perfettamente valido prima di rimuovere il 'Grazie' dalla fine. Seriamente quale era il punto, ha reso la domanda meno leggibile? –