작성한 질문수
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
강의 소스 코드
작성
·
192
0
만약, 동일한 식별자로 엔티티를 조회하면, 조회할 때마다 동일한 인스턴스가 조회되어, 영속성 컨텍스트는 엔티티 동일성을 보장해준다고 하는데, 같은 트랜잭션이 아니더라도, 동일한 영속성 컨텍스트여도 동일성이 보장되나요?
답변 2
1
답변 감사합니다!
그러면, 혹시 다른 트랜잭션에서도 영속성 컨텍스트를 공유할 수 있나요? 공유하지만 지양하는 편인가요? 아니면 공유하지 못하나요?
스프링 OSIV 를 사용하면 공유를 할 수는 있습니다. 하지만 스프링 컨테이너는 한 트랜잭션 당 하나의 영속성 컨텍스트 전략을 갖고 있고 그에 따라 설계되어있기 때문에, 공유할 수 있지만 지양하는 것이라 저도 이해하고 있습니다.
좀 더 자세한 설명은 영한님의 자바 ORM 표준 JPA 프로그래밍 책의 13장 웹 애플리케이션과 영속성 관리 챕터를 한 번 참고해보시면 좋을 것 같습니다!
안녕하세요. serverstudymaster님, 공식 서포터즈 y2gcoder입니다.
트랜잭션 하나 당 보통 하나의 영속성 컨텍스트를 갖고 있습니다. 그래서 동일한 트랜잭션 내, 동일한 영속성 컨텍스트 내에서 엔티티의 동일성을 보장한다고 이해해주시면 감사하겠습니다!
감사합니다.
스프링 OSIV 를 사용하면 공유를 할 수는 있습니다. 하지만 스프링 컨테이너는 한 트랜잭션 당 하나의 영속성 컨텍스트 전략을 갖고 있고 그에 따라 설계되어있기 때문에, 공유할 수 있지만 지양하는 것이라 저도 이해하고 있습니다.
좀 더 자세한 설명은 영한님의 자바 ORM 표준 JPA 프로그래밍 책의 13장 웹 애플리케이션과 영속성 관리 챕터를 한 번 참고해보시면 좋을 것 같습니다!