Hibernate kezeli. A default konstruktort hívja, aztán meg a setXXX metódusokat (kiírattam, láttam).<br><br>Az a gyanús (most tűnt fel), hogy amikor debuggolom a lépést, akkor az obj mezői null értékűek. És a handlerben "JavaassistLazyInitializer" szerepel. További érdekesség, hogy a hívás után is null a mezők értéke.<br>
<br>Szóval igazad lett: valami magic lévén meghívódik a set, és ez a magic a Hibernate. <br><br>Vagyishogy még akkor sem hívódik meg a set, csak egy Hibernate segédosztály visszaad egy id értéket, szóval az osztályom még mindig nincs feltöltve értékekkel.<br>
<br>Remélem másnak is tanulságos volt :)<br><br>Üdv:<br>VigB<br>
<br><br><div class="gmail_quote">2012. augusztus 2. 15:48 Richard O. Legendi írta, <span dir="ltr"><<a href="mailto:richard.legendi@gmail.com" target="_blank">richard.legendi@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
Tippre a nullary konstruktorod fut le, és mivel hozzá sem nyúl az
id-hez, ezért a default értékkel rendelkezik: null-lal.<br>
<br>
Lehet a tesztelő kódodban meghívódik valami magick révén a set,
mikor " közvetlenül akarsz hozzáférni a mezőhöz", és nem, amikor meg
az equals()-t hívod.<br>
<br>
Ricsi<div><div class="h5"><br>
<br>
<div>On <a href="tel:2012.08.02.%2015" value="+12012080215" target="_blank">2012.08.02. 15</a>:41, Vig, Balázs
wrote:<br>
</div>
<blockquote type="cite">Mivel a kód nem tartalmaz semmilyen nagy varázslatot,
ezért elküldöm a két osztályt. A hiba a DsrParams equals
metódusában jött elő.<br>
A DsrParams osztályt hibernate generálta, aztán én tovább
módosítottam, a DsrBase osztályt én csináltam, hogy mindenhol id
mező legyen.<br>
<br>
Az osztályokat a hibernate hozza létre, én nem nyúlok hozzájuk.<br>
<br>
Csináltam egy PoC-ot is, az a vártnak megfelelően működik mind
getterrel, mind közvetlen hozzáféréssel.<br>
<br>
Mit nézek el? (a shadowing eddig a legjobb ötlet)<br>
<br>
Üdv:<br>
VigB<br>
<br>
<div class="gmail_quote">2012. augusztus 2. 15:00 Tamás Viktor
írta, <span dir="ltr"><<a href="mailto:viktor.tamas@gmail.com" target="_blank">viktor.tamas@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Inkább el tudnád küldeni a komplett vonatkozó kódot?<br>
Ez az egy metódus nem sokat mond így.<br>
Ha már a környezetet ilyen precízen meghatároztad. :)<br>
V<br>
<br>
2012/8/2 Vig, Balázs <<a href="mailto:balazs.vig@datasolutions.hu" target="_blank">balazs.vig@datasolutions.hu</a>>:<br>
<div>
<div>> Hát egyik ötlet sem jó:<br>
><br>
> public Long getId() {<br>
> return id;<br>
> }<br>
><br>
> shadowing-ot nem látok (és a netbeans se)<br>
><br>
> mindkét objektum egy osztály pédánya, és az ős
osztály protected mezőjét<br>
> érik el.<br>
><br>
> 2 órát szívtam a dologgal, legalább tudjam meg, miért
;)<br>
><br>
> Üdv:<br>
> VigB<br>
><br>
><br>
> 2012. augusztus 2. 14:47 Richard O. Legendi írta,<br>
> <<a href="mailto:richard.legendi@gmail.com" target="_blank">richard.legendi@gmail.com</a>>:<br>
>><br>
>> Hozzá, ha egy package-ben vannak (ez valójában
package-protected), vagy A2<br>
>> az A1 leszármazottja. Szerintem elkötöttél
valamit a getXxx()-ben, vagy<br>
>> konstruktorokat keverted el, esetleg
el-"shadowing"-oltad a fieldet a<br>
>> subclassban.<br>
>><br>
>> Ricsi<br>
>><br>
>><br>
>> On <a href="tel:2012.08.02.%2014" value="+12012080214" target="_blank">2012.08.02. 14</a>:40, Vig, Balázs
wrote:<br>
>><br>
>> Sziasztok!<br>
>><br>
>> Ha már úgyis megszaporodtak a nyelvi alapokat
elemző levelek, akkor én is<br>
>> beállnék a sorba.<br>
>><br>
>> A kérdés a következő: A osztály a1 példánya
hozzáfér-e a2 példány<br>
>> protected mezőjéhez (Long)?<br>
>><br>
>> A környezet:<br>
>> WinXp 32 bit<br>
>> java version "1.7.0_05"<br>
>> Java(TM) SE Runtime Environment (build
1.7.0_05-b06)<br>
>> Java HotSpot(TM) Client VM (build 23.1-b03, mixed
mode, sharing)<br>
>> Netbeans 7.1.2<br>
>><br>
>> A jelenség:<br>
>> Ha közvetlenül akarok hozzáférni a mezőhöz, akkor
az eredmény mindig null,<br>
>> ha a getXXX() metódust használom, akkor jó
értéket kapok vissza. Sehol egy<br>
>> warning vagy egy exception<br>
>><br>
>> Mi ennek az oka?<br>
>><br>
>> Üdv:<br>
>> VigB<br>
>><br>
>><br>
>> _______________________________________________<br>
>> Javalist mailing list<br>
>> <a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.javaforum.hu</a><br>
>> <a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
>><br>
>><br>
><br>
><br>
> _______________________________________________<br>
> Javalist mailing list<br>
> <a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.javaforum.hu</a><br>
> <a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
><br>
_______________________________________________<br>
Javalist mailing list<br>
<a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.javaforum.hu</a><br>
<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
</div>
</div>
</blockquote>
</div>
<br>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
Javalist mailing list
<a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.javaforum.hu</a>
<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a>
</pre>
</blockquote>
<br>
</div></div></div>
</blockquote></div><br>