• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

21.05.20 22:25 작성 조회수 177

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

김영한님의 프로필

김영한

지식공유자

21.05.21 20:29

안녕하세요. 현도님

equals, hashcode를 구현하실 때 컬렉션이나 연관관계가 있는 부분은 제거하고 구현하셔야 합니다.

감사합니다.

정현도님의 프로필

정현도

질문자

21.05.21 20:58

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