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

김지윤님의 프로필 이미지
김지윤

작성한 질문수

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

JPA 소개

1차 캐시와 동일성 보장

작성

·

4.6K

·

수정됨

0

[질문 내용]

책 62페이지 강의 내용 16분 50초에 나오는 페이지에서 DB isloation Level이 Read Commit이어도 애플리케이션에서 Repeatable Read를 보장한다고 했는데요.

다른 Entity Manager가 update를 했다면 그 경우에는, 다른 값이 조회가 되는 것인가요?

 

ex) EntityManager A, EntityManager B(혹은 다른 서버, DB에서 직접 쿼리 발생)

  1. A select

  2. B update, commit

  3. A select

    이렇게 되는 경우, 1과 3의 값은 같으나 2의 값은 다른 것인지 궁금합니다.

    B서버는 이미 커밋을 진행해서 DB에서의 값은 바뀌었으나, A서버는 DB에서 조회하지 않고 자신의 영속성 컨텍스트에서 조회했으므로 1번과 같은 값을 읽는건가요?

답변 1

0

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

안녕하세요. 김지윤님

자신의 영속성 컨텍스트에서 조회했으므로 1번과 같은 값을 읽게 됩니다. 그리고 이것이 바로 Repeatable Read입니다.

추가로 더 궁금한 내용은 다음을 참고해주세요.

https://www.inflearn.com/questions/17498

감사합니다.

김지윤님의 프로필 이미지
김지윤

작성한 질문수

질문하기