![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSRU7e%2FbtsdWMofW8A%2FkYWNGTLbaTi6FgrB9iiBKk%2Fimg.png)
개발로그
[개발로그+JPA] OSIV(Open Session In VIew), Detached Entity Control
트랜잭션의 범위와 영속성 컨텍스트의 범위는 별개 짧게 결과만 말하자면 위와 같다. 지금까지 트랜잭션의 범위 == 영속성 컨텍스트의 범위라고 알고 사용해서 종종 느껴지는 이게 왜 되는건지에 대한 문제가 OSIV 때문이였다. OSIV 설명 전에 엔티티의 생명주기 먼저 복습하고 간다. 엔티티의 생명주기 비영속 transient 객체를 생성하고 영속성 컨텍스트가 관리는 안하는 상태 보통의 경우 엔티티 식별자(id)를 DB에 맡기기 때문에 아직 식별자가 존재하지 않는다. 영속 managed 영속성 컨텍스트에 저장된 상태 비영속 엔티티를 persist 하거나 DB의 엔티티를 find 시 영속성 컨텍스트에 영속된다. 준영속 detached 영속성 컨텍스트에 저장되었다가 분리된 상태 저장되었던 적 있기 때문에 엔티티 ..