인프런 커뮤니티 질문&답변

정현도님의 프로필 이미지

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

값 타입 컬렉션

값 타입 컬렉션에서 List<Address> equals()

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

감사합니다.. 부끄럽네요.