Dwukierunkowa relacja, a wygenerowany hashcode()

0

Mam dwie encje polaczone dwustronna relacja.

Generuje sobie za pomoca IDE hashcode(). I teraz zaczyna sie zabawa, bo:

  1. W klasie A, hashcode wywoje hashcode dla elementow z b
  2. W kalsie B, hashcode z kolei wywoje hashcode z Klasy a

i mam ystackoverflow error...

co tu zrobic, trzeba pewnie usunac sprawdzanie hashcoda dla jednego pola z relacji, ale po ktorej stronie ?

0

A jakie to niby ma znaczenie po której stornie? Po dowolnej stronie.

0

Pamiętajmy, że to tylko haszkod a nie equals ;)
Spokojnie możesz usunąć z dowolnej.

0

ale z equals'a tez powinna musunac... przeciez kontrakt jest taki ze equals i hashcode maja byc liczone dla tych samych dnaych.. ?

0

@monia_77 nie. Kontrakt jest taki że jeśli equals() jest true to hashCode() musi być równy. Koniec, kropka. Nic więcej.

0

ok, no to equlas nie zmieniam, a hashcode tylko zmodyfikuje

0

a jeszcze jedno, przeczytalam wlasnie ze equlas i hashcode powinny byc oparte o "business key", czy to znaczy, ze id encji powinnam wyrzucic z equlsa i hashcode'a ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1