Hej.

Mam taki problem. Mam sobie pewna Entity,

 ClassA {

 @Getter
 Long id;
 (...)
 
   @Override
   public boolean equals(Object o) {
         if (this == o) return true;
         if (!(o instanceof ClassA)) return false;
      ClassA ca= (ClassA) o;
        return id.equals(ca.id);
   }
   @Override
   public int hashCode() {
        return id.hashCode();
    }
}

W takiej wersji metoda equals w uruchamiana w Servisie zwraca zawsze FALSE. a ca.id wynosi NULL.
Co ciekawe, wyprintowanie tej entity w serwisie pokazuje dobre wartosci. Gdy zamienie ca.id na ca.getId() wynik jest TRUE jak oczekuje.

Moje pytanie jest o powod dla ktorego tak sie dzieje.