hibernate hashCide a equals
Rastislav Siekel
siekel na prosoft.sk
Čtvrtek Březen 4 09:52:03 CET 2010
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/a5026277/attachment.htm>
Další informace o konferenci Konference