Dwukierunkowa relacja, a wygenerowany hashcode()

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 ?

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

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


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
EV
  • Rejestracja:prawie 11 lat
  • Ostatnio:ponad 10 lat
  • Lokalizacja:Wrocław
  • Postów:31
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.. ?

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

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


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
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 ?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.