Inspiriert vom Domain Driven Design (DDD) habe ich eine Klasse, die als Aggregat Zugriff auf untergeordnete Objekte gibt. Um es etwas konkreter zu machen, habe ich eine Klasse "Benutzer", die eine Liste mit Objekten einer Untergeordneten Klasse enthält. Ein Benutzer-Objekt wird in einer HTTP-Session gespeichert.
Das Problem ist, dass die Liste wegen Lazy Loading nicht initialisiert ist und wenn man über das Benutzer-Objekt aus der Sitzung auf die Liste zugreift, bekommt man eine org.hibernate.LazyInitializationException. Um diese Exception zu vermeiden, möchte ich aber auch nicht beim Laden alles initialisieren und für jeden Benutzer ein fettes Objekt in der Session haben. Ich würde aber auch ungerne an meinem Benutzer-Objekt vorbei die untergeordneten Objekte direkt aus der DB holen, weil das gegen den Gedanken der Objektorientierung und DDD verstößt.
Hat jemand eine Idee, wie man (mit Hibernate) Lazy Loading von Aggreaten umsetzen kann?
Das Problem ist, dass die Liste wegen Lazy Loading nicht initialisiert ist und wenn man über das Benutzer-Objekt aus der Sitzung auf die Liste zugreift, bekommt man eine org.hibernate.LazyInitializationException. Um diese Exception zu vermeiden, möchte ich aber auch nicht beim Laden alles initialisieren und für jeden Benutzer ein fettes Objekt in der Session haben. Ich würde aber auch ungerne an meinem Benutzer-Objekt vorbei die untergeordneten Objekte direkt aus der DB holen, weil das gegen den Gedanken der Objektorientierung und DDD verstößt.
Hat jemand eine Idee, wie man (mit Hibernate) Lazy Loading von Aggreaten umsetzen kann?