Hi,
ich bekomme eine LazyInitializationException, die ich mir nicht so recht erklären kann ... Den Thread von byto (http://www.java-forum.org/de/topic66555_lazyinitializationexception-vs-dtos.html) habe ich gelesen, steige da aber nicht so recht durch.
Zum konkreten Problem:
Ich habe eine kleine PersistenceBean-Hierachie, mit einer Basisklasse FileBase und zwei Unterklassen XULFile und BinaryFile. Die Basisklasse FileBase enthält eine Collection von "Roles", die ein die Dateien abrufender User haben muss, um die Datei ansehen zu dürfen.
XULFile und BinaryFile werden nicht detached, sondern von meinem Swing-Client nur nach ihren Inhalten befragt, die sie als String bzw als byte[] zurückliefern. Trotzdem erhalte ich stets eine
Ich habe schon versucht den FetchType von accessAllowed, also der Roles-Collection, auf EAGER zu setzen, der Fehler bleibt jedoch der gleiche.
Wonach muß ich suchen? Woher kommt dieser Fehler? Was kann ich versuchen, um dieses Problem abzustellen?
mpG
Tobias
ich bekomme eine LazyInitializationException, die ich mir nicht so recht erklären kann ... Den Thread von byto (http://www.java-forum.org/de/topic66555_lazyinitializationexception-vs-dtos.html) habe ich gelesen, steige da aber nicht so recht durch.
Zum konkreten Problem:
Ich habe eine kleine PersistenceBean-Hierachie, mit einer Basisklasse FileBase und zwei Unterklassen XULFile und BinaryFile. Die Basisklasse FileBase enthält eine Collection von "Roles", die ein die Dateien abrufender User haben muss, um die Datei ansehen zu dürfen.
Code:
+----------+ +-------+
| FileBase |<>------------| Roles |
+----------+ +-------+
^
|
+---------------+
| |
+---------+ +------------+
| XULFile | | BinaryFile |
+---------+ +------------+
XULFile und BinaryFile werden nicht detached, sondern von meinem Swing-Client nur nach ihren Inhalten befragt, die sie als String bzw als byte[] zurückliefern. Trotzdem erhalte ich stets eine
javax.ejb.EJBTransactionRolledbackException: failed to lazily initialize a collection of role: de.tobiasdemuth.cube.server.xul.FileBase.accessAllowed, no session or session was closed
Ich habe schon versucht den FetchType von accessAllowed, also der Roles-Collection, auf EAGER zu setzen, der Fehler bleibt jedoch der gleiche.
Wonach muß ich suchen? Woher kommt dieser Fehler? Was kann ich versuchen, um dieses Problem abzustellen?
mpG
Tobias