[Java] 트렌젝션이 적용되지않을 때 ~롤백되지 않을때~(자바 스프링)_spring rollback rollbackFor_-If the transaction does not apply-++
1. 상황
- 스프링 프로젝트에서 엑셀을 시트별로 읽어서
다수의 테이블에 다건을 insert 하게 개발을 하고있었다.
- 업로드중 에러가 발생 했을 때 모든 시트데이터들이 전부 insert 되지 말아야하지만,
일부가 insert 되는 현상이 발생하였다.
2. 시도
- @Transactional(rollbackFor = Exception.class) 등 여러가지방법 사용했지만,
결과는 동일했다.
참고 : https://interconnection.tistory.com/122
3. 해결방법
★ 3-1. 컨트롤러에서 구현했던 소스들을 서비스로 옮김
Controller Source >> Service Source
3-2. @Transaction 사용
Service and ServiceImplementation 파일 해당 메서드에 @Transactional autowired 사용
3-2. try catch 사용
ServiceImplementation 파일 해당 메서드에 try catch문 사용
댓글
댓글 쓰기