em.clear()이후 타입 비교
353
작성한 질문수 34
JPA는 동일한 트랜잭션 내에서 엔티티의 동일성을 보장하기 때문에 아래의1과 2를 타입 비교하면 true로 나옵니다.
1. em.find(Member.class, mem1.getId())
2. em.getReference(Member.class, mem1.getId())
하지만 1과 2 사이에 em.flush();em.clear(); 하고 1,2 타입비교하면 false가 나옵니다. 이유는 em.clear()로 영속성 컨텍스트를 다 비우기 때문에 2에서는 프록시 객체이기 때문 맞나요?
그러니까 "JPA는 동일한 트랜잭션 내에서 엔티티의 동일성을 보장" 하지만 중간에 영속성 컨텍스트를 날려주게 되면 1과 2의 타입이 달라지게 되는 거죠?
감사합니다.
답변 1
리뉴얼 시기
0
39
2
변경감지(더티체킹) 이후 플러시할 경우의 쿼리
0
65
1
단일 테이블 시 null 값과 연관관계 필요성 질문
0
60
1
벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?
0
92
2
inheritance startegy 선택시 고려사항
0
59
1
Entity 동등성 비교
0
63
1
실무 조언 관련 질문입니다.
0
91
1
H2데이터베이스 파일 생성
0
102
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
1
92
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
83
1
JPQL 메소드와 락
0
77
1
Delivery @OneToOne
0
97
1
17강 4~5분대 테이블 값 조회가 안됩니다.
0
134
2
UnsupportedOperationException 발생
0
153
3
H2 Database 연결이 안됩니다.
0
126
2
연관관계 매핑 질문드립니다.
0
126
2
h2데이터베이스 실행오류
0
140
2
persistence.xml
0
150
2
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
0
117
1
영속성 컨텍스트
0
101
1
JPA 프록시
0
131
1
Native Query와 MyBatis
0
106
1
영속성 컨텍스트는 어떤 메모리에 저장되는건가요?
0
120
1
임베디드 타입 예시 코드 관련 질문
0
161
3





