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





Odpovedet emailem