JPA2 collection is not associated with any session

sebastianb

Erfahrenes Mitglied
Hallo zusammen,

leider stehe ich schon wieder vor einem recht kniffligen Problem und selbst eine ausgiebige Recherche hat noch keinen Erfolg gebracht, weshalb ich mich nun hoffnungsvoll an Euch wende ;)

Mein Problem ist, dass wenn ich eine Collection dynamisch nachladen will ich eine Exeption (siehe unten) bekomme und nun nicht weiß, wie ich dieses Problem elegant umschiffen kann.

Mein erster Gedanken sah folgendermaßen aus:

Code:
public Set<Bestellungen> initCollection(Set<Bestellungen> bestellungen)
{
EntityManager em = emf.createEntityManager();
Hibernate.initialize(bestellungen);
em.close();
return bestellungen;
}

leider fliegt mir nun beim Aufruf von Hibernate.initialize(bestellungen) eine Hibernate-Exeption (collection is not associated with any session) um die Ohren.

Führe ich jedoch folgenden Code aus funktioniert alles wie es soll:

Code:
public Set<Bestellungen> initCollection(Kunde kunde)
{
EntityManager em = emf.createEntityManager();
kunde = (Kunde) em.find(kunde, kunde.getId());
Set<Bestellungen> bestellungen = kunde.getBestellungen();
Hibernate.initialize(bestellungen);
em.close();
return bestellungen;
}

leider ist letzteres nicht möglich, da ich lediglich die Collection (PersistentSet) zur Verfügung habe. Kennt jemand einen schönen Weg um eine losgelöste Collection wieder zu re-attachen?

Viele Grüße und besten Dank!

Sebastian
 
Zurück