반응형
@Transactional 어노테이션의 noRollbackFor에 롤백하지 않을 런타임 예외를 다음과 같이 지정해주면 됩니다.
@Transactional(noRollbackFor = LoginFailureException.class)
처음 스프링을 처음 접했을 때는 아래처럼 생각없이 그냥 native query로 commit을 날려줬었는데, 무식한 방법이었습니다.
public class SignService {
@PersistenceContext
private final EntityManager entityManager;
@Transactional
public UserLoginResponseDto login(UserLoginRequestDto requestDto){
...
if(...) {
...
entityManager.createNativeQuery("commit").executeUpdate();
throw new LoginFailureException();
}
...
}
...
반응형
'Spring' 카테고리의 다른 글
웹 채팅 방 인원 공유파일 전송 (spring boot, react, nextjs, redux, redux-saga, aws s3) (0) | 2021.11.10 |
---|---|
spring boot, react(nextjs) 카카오 로그인 구현하기 (0) | 2021.11.10 |
spring boot, docker, docker-compose, nginx 이용해서 무중단 배포하기 (0) | 2021.11.10 |
spring boot, docker 컨테이너 내에 민감한 정보(비밀번호) 숨기기 (0) | 2021.11.10 |
스프링 스케줄링하기 (0) | 2021.11.10 |