Einzelnen Beitrag anzeigen
Alt 21-11-2009, 19:27   #1 (permalink)
Jarell
Neuer User
 
Registriert seit: Aug 2003
Ort: Berlin
Beiträge: 37
LazyInitializationException beim laden von Child-Objekten

Hallo, ich habe mal wieder ein Problem bei meinem FLEX/JAVA-Projekt.

Also das backend basiert auf java und wird mittels BlazeDB mit FLEX verbunden.

Dabei habe ich nun allerdings ein Problem mit der LazyInitializationException.

Wenn ich also ein Objekt lade und von dem Objekt den Ersteller laden möchte, dann bekomme ich die LazyInitializationException

Code:
serviceKlasse.getObjektByName("Objektname").getBenutzer()
Ich habe schon ein wenig recherchiert und erfahren, dass es dieses Problem wohl noch bei der aktuellen BlazeDS Version gibt und es immer dazu kommen, wenn man Child-Objekte eines Objektes laden möchte.

Mein Plan war jetzt die Annotationen in meiner Domainklasse zu ändern.

Zur Zeit Sieht es da so aus:

Code:
...
@ManyToOne ( targetEntity = Benutzer.class, fetch = FetchType.LAZY)
@JoinColumn (name = "benutzer_oid" )
private Benutzer benutzer_oid;
...
Angeblich soll es das Problem mit der LazyInitializationException nicht geben, wenn man bei einer ManyToOne-Beziehung eine JoinTable benutzt.

Wie genau soll dann aber das Annotations-Konstrukt aussehen? Ich habe da bis jetzt nichts brauchbares hin bekommen.

Hier mein Stand:

Code:
...
	@ManyToOne(optional=true)
	@JoinTable(
		name="WortBenutzer",
	    
		joinColumns = {
				@JoinColumn(name="wort_oid", unique = true)           
	    },
	    
	    inverseJoinColumns = {
	      @JoinColumn(name="benutzer_oid")
	    }     
	)
private Benutzer benutzer_oid;
...
Bin für jeden Tipp dankbar!
Jarell ist offline   Mit Zitat antworten