인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

hong19kings님의 프로필 이미지
hong19kings

작성한 질문수

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

기본 문법과 쿼리 API

디비에서 찾아올때 똑같은 객체의 해시코드 바뀌는이유

작성

·

178

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
디비에서 조회한 객체의 객체 해시코드와 처음에 set으로 설정한 객체의 해시코드가 어떤 이유로 다른거죠?
 
Member 테이블에 equals, hashcode 메서드 오버라이딩하니까 해시코드가 같아졌습니다
먼저 찾아본 결과 재정의 하지 않으면 그 클래스의 인스턴스는 오직 자기 자신과만 같게 된다고 하는데, 디비에서 꺼내온 객체와 제가 직접생성한 객체는 다르다고 생각하는게 맞을까요?
 

답변 1

2

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. hong19kings님

JPA는 같은 영속성 컨텍스트 안에서만 같은 객체를 유지해줍니다.

그런데 코드에 보시면 em.clear()라는 부분이 있습니다. 이렇게 하면 영속성 컨텍스트를 완전히 초기화 시켜버립니다. 따라서 이후에 조회하는 객체는 다른 객체가 되어버립니다.

감사합니다.

hong19kings님의 프로필 이미지
hong19kings

작성한 질문수

질문하기