벌크연산후 createQuery 작동방식 질문
144
작성한 질문수 28
강의 처럼 벌크 연산 후
int resultCount = em.createQuery("update Member m set m.age=20")
.executeUpdate();clear없이 바로 createQuery를 날리면,
Member result = em.createQuery("select m from Member m where m.id = :id", Member.class)
.setParameter("id", member1.getId())
.getSingleResult();
System.out.println("member.getAge() = " + result.getAge());아래와 같은 select 쿼리가 날라가고 age가 원래값으로 나옵니다.
Hibernate:
/* select
m
from
Member m
where
m.id = :id */ select
m1_0.id,
m1_0.age,
m1_0.memberType,
m1_0.TEAM_ID,
m1_0.username
from
Member m1_0
where
m1_0.id=?
member.getAge() = 10
//////////////////////////////
find처럼 selcet문이 안날라갈줄 알았는데, 날라가서 createQuery 작동방식이 궁금합니다.
1.이 쿼리가 실제로 db에 날라갔는데,
age=20값을 가지고오면서 영속성 컨텍스트에 들렸는데,
이미 캐시가 존재해서, 쿼리 값을 업데이트 안해주고 원래값 age=10을 가지고 온건가요?
2. 아니면 로그에 보이는 쿼리가 실제 db 에 날라가지 않고 생성만된채로, 영속성 컨텍스트를 찾는건가요?
답변 1
변경감지(더티체킹) 이후 플러시할 경우의 쿼리
0
6
1
단일 테이블 시 null 값과 연관관계 필요성 질문
0
20
1
벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?
0
66
2
inheritance startegy 선택시 고려사항
0
45
1
Entity 동등성 비교
0
51
1
실무 조언 관련 질문입니다.
0
74
1
H2데이터베이스 파일 생성
0
83
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
0
71
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
68
1
JPQL 메소드와 락
0
64
1
Delivery @OneToOne
0
77
1
17강 4~5분대 테이블 값 조회가 안됩니다.
0
107
2
UnsupportedOperationException 발생
0
113
3
H2 Database 연결이 안됩니다.
0
106
2
연관관계 매핑 질문드립니다.
0
104
2
h2데이터베이스 실행오류
0
123
2
persistence.xml
0
132
2
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
0
96
1
영속성 컨텍스트
0
82
1
JPA 프록시
0
112
1
Native Query와 MyBatis
0
88
1
영속성 컨텍스트는 어떤 메모리에 저장되는건가요?
0
108
1
임베디드 타입 예시 코드 관련 질문
0
134
3
명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요
0
106
3





