강의

멘토링

커뮤니티

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

김은재님의 프로필 이미지
김은재

작성한 질문수

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

상품 서비스 개발

Service @Transactional사용에 대해서

작성

·

297

0

강의를 듣는도중

@Transactional

public void saveItem(Item item){

    itemRepository.save(item)

}

부분에서요 @Transactional 어노테이션은 메소드가 호출이 된 후에 기본적으로 롤백을 한다고 설명해주셨는데

saveItem은 DB에 item을 저장하기위한 메소드인데

@transactional 어노테이션을 사용하면 롤백이되어서 저장이 안되지 않을까요??

답변 1

0

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

안녕하세요. 은재님^^

@Transactional이 테스트 코드에서 사용되는 경우에 한정해서 기본으로 롤백이 됩니다.

지금처럼 서비스에 있는 경우에는 로직이 정상 수행되면 커밋되고, 만약에 서비스 로직 안에서 예외가 발생하면 롤백됩니다.

감사합니다.

김은재님의 프로필 이미지
김은재

작성한 질문수

질문하기