Fwd: Re: hibernate hashCide a equals

Rastislav Siekel siekel na prosoft.sk
Čtvrtek Březen 4 10:52:05 CET 2010


Vyzerá to, že máte pravdu :-(

Tak ten komentár že sa to "prekastuje na spoločného predka" odvolávam.
Ale že to s Hibernate chodí, je stále pravda :-)

Rastislav "Bedo" Siekel


-------- Original Message --------
Subject: 	Re: hibernate hashCide a equals
Date: 	Thu, 4 Mar 2010 10:23:45 +0100
From: 	Zdenek Tronicek <tronicek na fit.cvut.cz>
Reply-To: 	Java <konference na java.cz>
To: 	Java <konference na java.cz>



Takze kdyz lhs je Object a rhs je String, tak lhsClass bude Object.class a
rhsClass bude String.class.
lhsClass.isInstance(rhs) vrati true (tedy testClass = Object.class) a
!rhsClass.isInstance(lhs) je take true, tedy testClass = String.class.

To nejak neodpovida tomu, ze se "to prekastuje na spoločného predka".

Z.T.
-- 
Zdenek Tronicek
FIT CTU in Prague


Rastislav Siekel napsal(a):
>  Veď preto tam ten Commons-Lang dáva takéto niečo:
>
>  ...
>           Class lhsClass = lhs.getClass();
>           Class rhsClass = rhs.getClass();
>           Class testClass;
>           if (lhsClass.isInstance(rhs)) {
>               testClass = lhsClass;
>               if (!rhsClass.isInstance(lhs)) {
>                   // rhsClass is a subclass of lhsClass
>                   testClass = rhsClass;
>               }
>           } else if (rhsClass.isInstance(lhs)) {
>               testClass = rhsClass;
>               if (!lhsClass.isInstance(rhs)) {
>                   // lhsClass is a subclass of rhsClass
>                   testClass = lhsClass;
>               }
>           } else {
>               // The two classes are not related.
>               return false;
>           }
>  ...
>
>  Čiže si to prekastuje na spoločného predka a až potom porovnáva.
>  Pravdupovediac som to moc neštudoval, po otestovaní s Hiberanate som
>  zistil, že všetko beží ako má a odvtedy to "len" používam :-)
>
>  R.
>
>  ------------------------------------------------------------------------
>  Ing. Rastislav Siekel
>  Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia
>  E-mail :<siekel na prosoft.sk>  <mailto:siekel na prosoft.sk>
>  Tel : 041/562 54 91
>  Fax : 041/562 54 97
>  Mobil : 0905 34 00 20
>
>  On 4. 3. 2010 9:43, Lukas Barton wrote:
>>  Jenom pozor, ze je v equals metode nutne pouzivat instanceof misto
>>  getClass()==.
>>  Hibernate tam totiz dava proxy a pak by to nefungovalo.
>>
>>    Lukas
>>
>>  Rastislav Siekel wrote:
>>>  Jakrta Commons-Lang a zatiaľ ma nesklamali.
>>>
>>>  Rastislav "Bedo" Siekel
>>>
>>>  ------------------------------------------------------------------------
>>>  Ing. Rastislav Siekel
>>>  Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia
>>>  E-mail :<siekel na prosoft.sk>  <mailto:siekel na prosoft.sk>
>>>  Tel : 041/562 54 91
>>>  Fax : 041/562 54 97
>>>  Mobil : 0905 34 00 20
>>>
>>>  On 4. 3. 2010 6:54, Daniel Holešínský wrote:
>>>>  Zdravim,
>>>>
>>>>  pouzivam generator IDE (eclipse, idea). U Hibernate si ale musite
>>>>  dat pozor na kolekce s atributem lazy - mimo session se jinak
>>>>  potkate s vyjimkou
>>>>
>>>>  org.hibernate.LazyInitializationException: failed to lazily
>>>>  initialize a collection of role: ____, no session or session was
>>>>  closed
>>>>
>>>>  z pri jakemkoliv pouziti eaual a hashCode (za predpokladu, ze tato
>>>>  kolekce je zahrnuta do vypoctu hashCode a vyhodnoceni equals)
>>>>
>>>>  DH
>>>>
>>>>  2010/3/3 Ivan Polak<ivan.polak na f4s.sk<mailto:ivan.polak na f4s.sk>>
>>>>
>>>>      Ahojte,
>>>>
>>>>      mam otazku, co pouzivate na generovanie tychto 2 metod pre domain
>>>>      objecty v hibernate ? eclipse generovanie (Source/Generate
>>>>      hashCode()
>>>>      and equals() alebo pouzitie EqualsBuilder a HashCodeBuilder z
>>>>      projektu
>>>>      Jakarta Commons-Lang (http://
>>>>      commons.apache.org/lang/<http://commons.apache.org/lang/>  alebo
>>>>      nieco ine?
>>>>
>>>>      dakujem
>>>>
>>>>      Ivan
>>>>
>>>>
>>
>

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://amaio.cz/pipermail/konference/attachments/20100304/9397f39d/attachment.htm>


Další informace o konferenci Konference