G
Gast2
Gast
Hallo zusammen,
ich habe folgendes Phänomen beim Eclipse debugging und frage mich gerade ob das ein Bug ist.
Wenn ich in der Perspektive debug die Variablen View anschaue und eine Objekt Beziehung habe das mit JPA Lazy geladen wird, werden die Variablen immer null angezeigt, sogar wenn die Variablen irgendwann mal nachgeladen wird.
Beispiel(ohne JPA Gedöns)
Jetzt schaue ich im debugger die Klasse A an wenn sie aus der DB geladen wird (B wird lazy geladen).
Jetzt schaue ich mir B an Instanz BImpl$$javaassist und hat einen LazyIrgendwasHandler...
Alle variablen von B sind null. Passt soweit alles.
Jetzt habe ich aus Spaß mal die toString Methode überschrieben, damit wenn ich auf das B im debugger drauf klicke diese aufgerufen wird. Passt ich sehe auf dem B alle meine Werte die nachgeladen wurden, ABER die member variablen in der Variablen Ansicht bleiben null. Genauso wenn ich danach ein getXYZ mache sehe ich in der Console ein select das was nachgeladen wurde. Und mit getXYZ wird der richtige Wert ausgelesen, die Variable in der Variablen View ist immer noch NULL, obwohl der Wert jetzt definitv da ist...
Ist das ein Eclipse Bug? Gibt es irgendwie ein Trick wie man die Variablen View neu laden kann? Oder ist es einfach nicht möglich für Eclipse es mitzubekommen, dass ich an der Instanz ein Wert verändert hat???
Hoffe es war einigermaßen verständlich :bae:
ich habe folgendes Phänomen beim Eclipse debugging und frage mich gerade ob das ein Bug ist.
Wenn ich in der Perspektive debug die Variablen View anschaue und eine Objekt Beziehung habe das mit JPA Lazy geladen wird, werden die Variablen immer null angezeigt, sogar wenn die Variablen irgendwann mal nachgeladen wird.
Beispiel(ohne JPA Gedöns)
Java:
public class A
private B b
Jetzt schaue ich im debugger die Klasse A an wenn sie aus der DB geladen wird (B wird lazy geladen).
Jetzt schaue ich mir B an Instanz BImpl$$javaassist und hat einen LazyIrgendwasHandler...
Alle variablen von B sind null. Passt soweit alles.
Jetzt habe ich aus Spaß mal die toString Methode überschrieben, damit wenn ich auf das B im debugger drauf klicke diese aufgerufen wird. Passt ich sehe auf dem B alle meine Werte die nachgeladen wurden, ABER die member variablen in der Variablen Ansicht bleiben null. Genauso wenn ich danach ein getXYZ mache sehe ich in der Console ein select das was nachgeladen wurde. Und mit getXYZ wird der richtige Wert ausgelesen, die Variable in der Variablen View ist immer noch NULL, obwohl der Wert jetzt definitv da ist...
Ist das ein Eclipse Bug? Gibt es irgendwie ein Trick wie man die Variablen View neu laden kann? Oder ist es einfach nicht möglich für Eclipse es mitzubekommen, dass ich an der Instanz ein Wert verändert hat???
Hoffe es war einigermaßen verständlich :bae: