[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문 사용

댓글

T O P