Zugriff auf eine Liste in der View bei @OneToMany Beziehungen

outsidaa

Mitglied
Hallo zusammen,

ich muss für die Uni ein J2EE Projekt realisieren mit Hibernate, Spring 1, Struts.

Wir haben 3 Klassen: User, Project und Source

Project und Source sind dem User per @OneToMany zugewiesen, weil wir vom User zu den Listen navigieren wollen.

Jetzt wollen wir auf einer View, mit einem angemeldeten User die Projects und Sources ausgeben. Wir bekommen aber eine Fehlermeldung

failed to lazily initialize a collection of role: de.ziertier.model.User.projects, no session or session was closed

Wir können es jedoch nicht auf eager umstellen, weil man immer nur eine Assoziation pro Klasse auf Eager setzen kann.

Haben wir hier einen kompletten denkfehler, also konzeptionell?
Langsam haben wir das Gefühl, dass wir in die falsche Richtung fahren.

Was müssen wir tun um auf einer Seite die Listen von zwei zugeordneten Entitäten auszugeben?

Gruß

Adam
 
Entweder musst du die Liste an der stelle "vorladen" (also z.B. den Getter darauf schonmal rufen) an dem du die Session hast, von der die Rootentität verwaltet wird, oder dafür sorgen, dass die Session solang offen bleibt, bis der View gerendet wird. Die Suche nach OpenSessionInView (Filter oder Pattern) sollte hier im Forum oder bei Google jede Menge nützliche Info zu Tage führen :)

Gruß
Ollie

PS: Seh grad Spring ist im Einsatz (btw. Spring 1? Das meint ihr doch nicht ernst, oder? Morgen kommt Spring 3...) Hier ist die entsprehende Klasse für OSIV: http://static.springsource.org/spri...bernate3/support/OpenSessionInViewFilter.html
 

Neue Beiträge

Zurück