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 */ > >