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

E mergency님의 프로필 이미지

작성한 질문수

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

회원 서비스 개발

@Transactional 애노테이션 질문

작성

·

180

2

@Transactional 애노테이션만 붙이면 jpa기본편에서 배웠던 대로 해당 메소드를 아래와 같이 감싸서 실행하게 되는건가요?

tx.begin()

try {

--- 메소드 실행 ---

tx.commit()

} catch (Exception e) {

 tx.rollback()

} finally {

 em.close()

}

emf.close()

답변 2

3

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. E mergency님^^ 또 반가워요 ㅎㅎ

네 AOP라는 것이 동작하는데, 생각하신 것과 유사한 코드가 동작합니다. 메소드 실행 결과가 성공이면 commit, 런타임 예외가 터지면 롤백으로 기본 동작합니다.

여기서 emf.close()는 빼야겠네요 ㅎㅎ

1

E mergency님의 프로필 이미지
E mergency
질문자

감사합니다^^