Hallo,
habe ein grundlegendes Problem, was ich bisher nicht über die Literatur und Foren lösen konnte. Es müsste aber ein geläufiges Problem sein.
Ich habe eine m:n Beziehung zwischen 2 Tabellen. Mein Problem ist dass diese Beziehung in hibernate durch Collections dargestellt wird, was ich am besten an folgendem vereinfachten Bsp zeigen kann:
m:n Beziehung zwischen Person und Gruppe. personA ist in gruppeA und gruppeB.
Query in hibernate "from person join person.gruppen g" erzeugt folgendes resultset:
Code:
Person | Gruppe
-----------------------
personA | [gruppeA, gruppeB]
personA | [gruppeA, gruppeB]
gewünscht wäre aber ein resultset wie folgt, was auch ein normaler join in sql erzeugt:
Code:
Person | Gruppe
-----------------------
personA | gruppeA
personA | gruppeB
Frage? Wie lässt sich solch ein Resultset erreichen? Wie lässt sich gezielt auf die Elemente der Collection zugreifen? Ich weiß nicht wo ich ansetzen soll. Ein Versuch über die Collection zu iterieren und die gruppen einzelnd auszugeben führt nicht zum Ziel, da ein Filtern oder Sortieren nach Gruppen dann nicht mehr korrekt möglich ist.
Details:
* Hibernate 3.2.3
Mapping Beispiel für Person, äquivalent auch für Gruppe:
Code:
<set name="gruppen" inverse="true" table="person_gruppe">
<key>
<column name="person" not-null="true" />
</key>
<many-to-many entity-name="Gruppe">
<column name="gruppe" not-null="true" />
</many-to-many>
</set>
Danke, gruß Raphael