HQL: Abfrage im Ruhezustand mit ManyToMany

Ich habe eine Frage mit HQL-Abfrage und Ruhezustand.

Ich habe eine Benutzerklasse und eine Rollenklasse. Ein Benutzer kann viele Rollen haben. Also habe ich eine ManyToMany-Beziehung wie diese:

In Benutzerklasse:

@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 Rollenklasse:

@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;
}

Diese Zuordnung hat eine dritte Tabelle (PORTAIL_USERROLE) erstellt, in der Relationen gespeichert sind. Alle funktionieren gut so. Wenn ich einen Benutzer habe, rufe ich Rollen ab.

Aber meine Frage ist: Wie kann ich in einer HQL-Abfrage alle Benutzer ermitteln, die eine bestimmte Rolle haben? Jede Klasse repräsentiert die Tabelle PORTAIL_USERROLE, sodass ich nicht weiß, wie ich meine HQL-Abfrage durchführen soll.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage