21.05.20 22:25 작성
·
324
1
이런 코드를 짰는데 remove(member)에서 false가 나길래 디버그 해봤더니 addressHistory 비교에만 false를 반환합니다.
addressHistory의 instance가 org.hibernate.collection.internal.PersistentBag 입니다.
이 클래스의 equals() 메소드가
super.equals() -> Object.equals() 메소드를 호출해서 false가 나는 것 같습니다.
이 경우에는 어떻게 해결해야 하나요?
Member와 Address 의 equals() 메소드는 모두 generate 한 코드를 그대로 사용하였습니다.
답변 1
1
2021. 05. 21. 20:29
안녕하세요. 현도님
equals, hashcode를 구현하실 때 컬렉션이나 연관관계가 있는 부분은 제거하고 구현하셔야 합니다.
감사합니다.
2021. 05. 21. 20:58
감사합니다.. 부끄럽네요.