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

serverstudymaster님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

강의 소스 코드

영속성 컨텍스트의 엔티티 동일성 보장

23.10.09 18:12 작성

·

172

0

만약, 동일한 식별자로 엔티티를 조회하면, 조회할 때마다 동일한 인스턴스가 조회되어, 영속성 컨텍스트는 엔티티 동일성을 보장해준다고 하는데, 같은 트랜잭션이 아니더라도, 동일한 영속성 컨텍스트여도 동일성이 보장되나요?

답변 2

1

serverstudymaster님의 프로필 이미지

2023. 10. 10. 18:27

답변 감사합니다!

그러면, 혹시 다른 트랜잭션에서도 영속성 컨텍스트를 공유할 수 있나요? 공유하지만 지양하는 편인가요? 아니면 공유하지 못하나요?

y2gcoder님의 프로필 이미지

2023. 10. 10. 23:30

스프링 OSIV 를 사용하면 공유를 할 수는 있습니다. 하지만 스프링 컨테이너는 한 트랜잭션 당 하나의 영속성 컨텍스트 전략을 갖고 있고 그에 따라 설계되어있기 때문에, 공유할 수 있지만 지양하는 것이라 저도 이해하고 있습니다.

좀 더 자세한 설명은 영한님의 자바 ORM 표준 JPA 프로그래밍 책의 13장 웹 애플리케이션과 영속성 관리 챕터를 한 번 참고해보시면 좋을 것 같습니다!

1

y2gcoder님의 프로필 이미지

2023. 10. 09. 21:35

안녕하세요. serverstudymaster님, 공식 서포터즈 y2gcoder입니다.

트랜잭션 하나 당 보통 하나의 영속성 컨텍스트를 갖고 있습니다. 그래서 동일한 트랜잭션 내, 동일한 영속성 컨텍스트 내에서 엔티티의 동일성을 보장한다고 이해해주시면 감사하겠습니다!

감사합니다.