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 <troni...@fit.cvut.cz>
Reply-To: Java <konference@java.cz>
To: Java <konference@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 :<sie...@prosoft.sk> <mailto:sie...@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 :<sie...@prosoft.sk> <mailto:sie...@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.po...@f4s.sk<mailto:ivan.po...@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