вот в классе вложенного объекта Entity1 @EqualsAndHashCode висит на 3 полях, а я хочу для equals и hashCode Entity2 брать из него только одно поле
Вот да, пожалуйста. @zxczxczxczxczxc123 А зачем у там вообще Equals/Hashcode на неключевом поле? У вас же там мутации всякие начнутся - будет весело.
https://pastebin.com/cC6W5JGZ - раньше было вот так
@EqualsAndHashCode(of = "id")
да вроде на ключевых, такого быть не должно. Просто хотел старую логику оставить, не включая новых полей (придерживаться подхода "работает - не трогай"..)
У вас эти поля не помечены как ID же. Или это NaturalID?
ну там всякие id из CRMки
Я не про них. Вот это же не часть ключа, почему оно в equals включается? И в hashcode? Поле же мутировать может. @EqualsAndHashCode.Include @Column(name = "FIELD_2") private String field2;
Просто поля, которые определяют уникальность объекта. Они из CRM, мутировать не должны
Ну я бы на них тогда ещё @NaturalId поставил бы, наверное.
Обсуждают сегодня