• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-11-2009, 19:27   #1 (permalink)
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
Alt 22-11-2009, 03:25   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 11.854
Ich bin in EJB leider nicht sehr fit. Aber es sieht für mich so aus, als wenn du eine Aggregation aufbrechen und dir nur die DTOs holen willst. Wieso holst du nicht die ganze Aggregation?
Omega Psi ist offline   Mit Zitat antworten
Alt 22-11-2009, 16:41   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Berlin
Beiträge: 37
Soo ich habs mittlerweile gelöst das Problem. War dann doch nicht so dramatisch ich ich erst angenommen hatte.

Code:
	@ManyToOne(fetch=FetchType.EAGER)
	@Cascade({org.hibernate.annotations.CascadeType.ALL})
	@JoinTable(name="WortBenutzer", joinColumns=
	{
		@JoinColumn(name="wort_oid")
	})
	private Benutzer benutzer_oid;
So werden jetzt eben alle Beziehungen zwischen Wort und Benutzer in der Tabelle "WortBenutzer" gespeichert und hibernate regelt die Zugriffe, wenn ich z.B. wort.getBenutzer aufrufe.
Jarell ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Sprite skaliert child beim resizen Michael Wittwer ActionScript 3 6 10-06-2009 16:41
[Flash CS3] AS3: Child oder nicht Child.... Capri Flash Einsteiger 3 11-02-2009 17:45
swf laden - child darf nicht 'NULL' sein hibbert Flash Einsteiger 4 30-09-2007 20:06
Highest Depth beim Draggen von Objekten DerIngo ActionScript 1 18 20-10-2006 21:49
Probleme beim Anlegen von Objekten Dr.Pymonte ActionScript 1 3 18-06-2003 12:52


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:41 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele