영속성컨텍스트
-
웹 애플리케이션과 영속성 관리IT/JPA 2021. 1. 24. 21:40
1. 트랜잭션 범위의 영속성 컨텍스트 1) 스프링 컨테이너의 기본전략 - 스프링 컨테이너는 트랜잭션 범위의 영속성 컨텍스트 전략을 기본으로 사용한다. - 트랜잭션을 시작할 때 영속성 컨텍스트를 생성하고, 트랜잭션이 끝날 때 영속성 컨텍스트를 종료한다. - 같은 트랜잭션 안에서는 항상 같은 영속성 컨텍스트에 접근한다. - 스프링 프레임워크에서는 보통 서비스 계층에 @Transactional 어노테이션을 선언한다. 호출한 메소드를 실행하기 직전에 스프링의 트랜잭션 AOP가 먼저 동작한다. - 스프링 트랜잭션 AOP는 대상 메소드를 호출하기 직전에 트랜잭션을 시작하고, 대상 메소드가 정상 종료되면 트랜잭션을 커밋하면서 종료한다. - 트랜잭션을 커밋하면 JPA는 먼저 영속성 컨텍스트를 플러시 해서 변경내용을 데..