[Javalist] protected meő láthatósága

Vig, Balázs balazs.vig at datasolutions.hu
2012. Aug. 2., Cs, 16:18:13 CEST


Hibernate kezeli. A default konstruktort hívja, aztán meg a setXXX
metódusokat (kiírattam, láttam).

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.

Szóval igazad lett: valami magic lévén meghívódik a set, és ez a magic a
Hibernate.

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.

Remélem másnak is tanulságos volt :)

Üdv:
VigB


2012. augusztus 2. 15:48 Richard O. Legendi írta, <richard.legendi at gmail.com
>:

>  Tippre a nullary konstruktorod fut le, és mivel hozzá sem nyúl az id-hez,
> ezért a default értékkel rendelkezik: null-lal.
>
> 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.
>
> Ricsi
>
>
> On 2012.08.02. 15:41, Vig, Balázs wrote:
>
> 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ő.
> 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.
>
> Az osztályokat a hibernate hozza létre, én nem nyúlok hozzájuk.
>
> Csináltam egy PoC-ot is, az a vártnak megfelelően működik mind getterrel,
> mind közvetlen hozzáféréssel.
>
> Mit nézek el? (a shadowing eddig a legjobb ötlet)
>
> Üdv:
> VigB
>
> 2012. augusztus 2. 15:00 Tamás Viktor írta, <viktor.tamas at gmail.com>:
>
>> Inkább el tudnád küldeni a komplett vonatkozó kódot?
>> Ez az egy metódus nem sokat mond így.
>> Ha már a környezetet ilyen precízen meghatároztad. :)
>> V
>>
>> 2012/8/2 Vig, Balázs <balazs.vig at datasolutions.hu>:
>>  > Hát egyik ötlet sem jó:
>> >
>> >   public Long getId() {
>> >     return id;
>> >   }
>> >
>> > shadowing-ot nem látok (és a netbeans se)
>> >
>> > mindkét objektum egy osztály pédánya, és az ős osztály protected mezőjét
>> > érik el.
>> >
>> > 2 órát szívtam a dologgal, legalább tudjam meg, miért ;)
>> >
>> > Üdv:
>> > VigB
>> >
>> >
>> > 2012. augusztus 2. 14:47 Richard O. Legendi írta,
>> > <richard.legendi at gmail.com>:
>> >>
>> >> Hozzá, ha egy package-ben vannak (ez valójában package-protected),
>> vagy A2
>> >> az A1 leszármazottja. Szerintem elkötöttél valamit a getXxx()-ben, vagy
>> >> konstruktorokat keverted el, esetleg el-"shadowing"-oltad a fieldet a
>> >> subclassban.
>> >>
>> >> Ricsi
>> >>
>> >>
>> >> On 2012.08.02. 14:40, Vig, Balázs wrote:
>> >>
>> >> Sziasztok!
>> >>
>> >> Ha már úgyis megszaporodtak a nyelvi alapokat elemző levelek, akkor én
>> is
>> >> beállnék a sorba.
>> >>
>> >> A kérdés a következő: A osztály a1 példánya hozzáfér-e a2 példány
>> >> protected mezőjéhez (Long)?
>> >>
>> >> A környezet:
>> >> WinXp 32 bit
>> >> java version "1.7.0_05"
>> >> Java(TM) SE Runtime Environment (build 1.7.0_05-b06)
>> >> Java HotSpot(TM) Client VM (build 23.1-b03, mixed mode, sharing)
>> >> Netbeans 7.1.2
>> >>
>> >> A jelenség:
>> >> Ha közvetlenül akarok hozzáférni a mezőhöz, akkor az eredmény mindig
>> null,
>> >> ha a getXXX() metódust használom, akkor jó értéket kapok vissza. Sehol
>> egy
>> >> warning vagy egy exception
>> >>
>> >> Mi ennek az oka?
>> >>
>> >> Üdv:
>> >> VigB
>> >>
>> >>
>> >> _______________________________________________
>> >> Javalist mailing list
>> >> Javalist at lists.javaforum.hu
>> >> http://lists.javaforum.hu/mailman/listinfo/javalist
>> >>
>> >>
>> >
>> >
>> > _______________________________________________
>> > Javalist mailing list
>> > Javalist at lists.javaforum.hu
>> > http://lists.javaforum.hu/mailman/listinfo/javalist
>> >
>> _______________________________________________
>> Javalist mailing list
>> Javalist at lists.javaforum.hu
>> http://lists.javaforum.hu/mailman/listinfo/javalist
>>
>
>
>
> _______________________________________________
> Javalist mailing listJavalist at lists.javaforum.huhttp://lists.javaforum.hu/mailman/listinfo/javalist
>
>
>
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20120802/1107bef1/attachment.html>


További információk a(z) Javalist levelezőlistáról