
스프링 컨테이너 환경에서는 영속성 컨텍스트와 트랜잭션의 생명주기가 일치한다
->트랜잭션이 유지되는 동안은 영속성 상태도 유지됨
spring은 위 사진같은 상황에서 Transaction을 유지, 제어할 수 있도록 트랜잭션 전파 기능을 제공하고 있다
MemoRepsitory를 Autowired 사용해서 주입 받아 오고 있음

위 사진에서 현재 test3 라는 메서드에서 memoRepository에 있는 createMemo를 부르는 것!
test3 메서드가 부모 메서드
불림을 당하는 createMemo가 자식 메서드

em.find를 통해서 1번을 가져온다
setUsername, SetContents 해줘서 데이터를 바꿔준다
@Transaction 환경 걸어놨음 -> 변경 감지가 일어나면서 업데이트 쿼리가 일어난다
test3 부모 메서드에도 @Transaction 걸려있음
실행하면..

createMemo 까지가 자식 메서드
부모 메서드가 끝나면서 트랜잭션 업데이트가 일어난다???
REQUIRED 옵션
- 부모 메서드에 Trasactional이 존재한다면, 자식 메서드에 트랜잭션은 부모 메서드 트랜잭션에 합류하게 됨 (트랜잭션이 이어지면서, 영속성 컨텍스트도 이어짐)
- 자식 메서드가 끝날때 트랜잭션 커밋이 되는게 아니라, 부모까지 종료가 되니깐 커밋이 됨
- 트랜잭션 전파 기능을 제공하면서, 계층 간에도 트랜잭션이 이어질 수 있는 것이다