Moin zusammen,
ich habe ein Problem mit Hibernate und hoffe einer kann mir das Verhalten erklären. Vielleicht ist es auch nur ein Verständnisproblem.
Und zwar habe ich eine Kopf + Positionstruktur:
Die Hibernate Mapping Files sehen wie folgt aus:
Mein Verständnisproblem ist nun, wenn ich mir die Positionen lade, auf den Kopf zugreife, und von diesem wieder auf die Positionen, dann sind diese leer.
Genau an der letzten Stelle hätte ich erwartet, dass Hibernate die Positionen ermittelt. Ich bekomme lediglich null heraus.
Aber genau das ist nicht der Fall. Ist an der Hibernate Mapping Definion etwas falsch? Oder ist so ein Ansatz gar nicht vorgesehen?
Besten Dank schonmal für jede Information.
ich habe ein Problem mit Hibernate und hoffe einer kann mir das Verhalten erklären. Vielleicht ist es auch nur ein Verständnisproblem.
Und zwar habe ich eine Kopf + Positionstruktur:
Code:
public class Kopf {
private List<Position> positionen = null;
// getter + setter Methoden
}
Code:
public class Position {
private Kopf kopf = null;
// getter + settter Methoden
}
Die Hibernate Mapping Files sehen wie folgt aus:
Code:
<hibernate-mapping package="my.package">
<class table="KOPF" name="Kopf">
<id .... ></id>
<bag name="positionen" inverse="true" lazy="true" fetch="select" cascade="none" >
<key column="FK_KOPF" />
<one-to-many class="Position" />
</bag>
</class
</hibernate-mapping>
Code:
<hibernate-mapping package="my.package">
<class table="POSITION" name="Position">
<id .... ></id>
<many-to-one name="kopf" class="Kopf" column="FK_KOPF" not-null="true" />
</class
</hibernate-mapping>
Mein Verständnisproblem ist nun, wenn ich mir die Positionen lade, auf den Kopf zugreife, und von diesem wieder auf die Positionen, dann sind diese leer.
Code:
// Irgendeine Position in DB ermitteln
Position pos = this.positionDao.getByID(1);
// Kopf der Position ermitteltn
Kopf kopf = pos.getKopf();
// Alle Positionen zum Kopf ermitteln
List<Position> positionen = kopf.getPositionen();
Genau an der letzten Stelle hätte ich erwartet, dass Hibernate die Positionen ermittelt. Ich bekomme lediglich null heraus.
Aber genau das ist nicht der Fall. Ist an der Hibernate Mapping Definion etwas falsch? Oder ist so ein Ansatz gar nicht vorgesehen?
Besten Dank schonmal für jede Information.