서버
SpringBoot - @Transactional 사용 (+어떤 패키지 사용해야할까)
탐훈
2024. 12. 26. 12:35
728x90
DB에 접근시에는 항상 트랜잭션 안에서 돌도록 잡아줘야한다.
@Transactional은 기본 값이
readonly = false이다.
insert관련 내용이 있을 때는 사용해서는 안된다.
만약 Service에서
메소드가 10개인데
9개가 insert형식이고 하나만 read 형식이면 다음과 같이 처리 가능하다.
@Service
@Transactional // 전부 insert형식 선언
public class MemberService {
public Long insert1() {
}
public List<Member> insert2() {
}
@Transactional(readOnly = true) //하나만 read
public Member insert3() {
}
}
추가로
Transactional은 두가지의 패키지가 있는데
옵션이 많은 아래 패키지를 사용하는 편이 좋다
import org.springframework.transaction.annotation.Transactional;