To už jsme vyřešili, myslel jsem si že Hibernate používá přetížené
settery pro sledování změn - což není pravda, s něčím jsem si to
spletl...
Nicméně je potřeba počítat s tím že při práci s Hibernate se proxy
může objevit a že tato proxy může být odvozena od deklarovaného
předka, i když uvnitř je potomek.

Kamil Podlešák


2010/3/11 Roman Zakutny <roman.zaku...@gmail.com>:
> Predstavte si entitu A, ktora ma v sebe referenciu na entitu B s anotaciou
> @OneToOne(fetch=LAZY).
> Ked nacitate objekt A pomocou Hibernate, za normalnych okolnosti nebude
> proxiovany. Proxy reprezentuju len vnutorne referencie na objekty, ktore su
> natahovane lazy - v nasom pripade B. @OneToOne a @ManyToOne proxiuje Entity
> objekt, @ManyToMany a @OneToMany proxiuje Collection. Ten zapuzdrujuci
> objekt A by bol proxy, keby sme priamym pristupom na jeho getter chceli
> nacitat lazy data. To vsak nie je bezne: nenacitavame predsa meno osoby lazy
> modom...
> Cele to smeruje k tomu, ze kludne mozete pristupit na lazy referenciu B
> reprezentovanu proxy objektom a na nej dokonca na jej ID, ktore bude
> inicializovane. To je vdaka tomu, ze ID je dostupne v ramci tabulky, ktoru
> tym zapuzdrujucim objektom A mapujete a ta si toto ID natiahne. Kludne
> mozete tento lazy objekt B pouzit pri vytvarani novych dotazov. Vsetko bez
> toho, aby bol dodatocne natiahnuty! Load nastane az v momente ak pristupite
> na nejaky getter objektu B...
> 2010/3/11 Roman Pichlík <roman.pich...@gmail.com>
>>
>> > Ne často, vždy :-)
>> > Je to základní princip fungování Hibernate.
>>
>> to bych nerekl, ze vzdycky vraci proxy. IMHO pouze pokud je to potreba
>> napr. lazy loading.
>>
>> --
>> S pozdravem Roman "Dagi" Pichlik
>>
>> /* http://www.sweb.cz/pichlik/ Blog pro kodery */
>
>

Odpovedet emailem