Ich habe eine Frage mit HQL-Abfrage und Ruhezustand.HQL: Hibernate-Abfrage mit ManyToMany
Ich habe eine Benutzerklasse und eine Rollenklasse. Ein Benutzer kann viele Rollen haben. So habe ich eine ManyToMany relatation wie folgt aus:
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 einer dritten Tabelle erstellt hat (PORTAIL_USERROLE), wo Beziehungen sind bestückt. Alles funktioniert gut so. Wenn ich einen Benutzer habe, rufe ich Rollen ab.
Aber meine Frage ist: Wie bekomme ich in einer HQL-Abfrage alle Benutzer, die eine bestimmte Rolle haben? Jede Klasse repräsentiert die PORTAIL_USERROLE-Tabelle, daher weiß ich nicht, wie ich meine HQL-Abfrage machen soll.
wenn Pascal Thivent bearbeitet diese Frage er JoinTable zu oinTable und un aktiviert eine absolut gültige Satz geändert bevor dann das "Danke" vom Ende entfernt wird. Im Ernst, was war der Punkt, es machte die Frage weniger lesbar? –