잘 정리해보자

Spring Batch Error : org.springframework.dao.EmptyResultDataAccessException: Item 2 of 10 did not update any rows 본문

Spring/Spring Boot

Spring Batch Error : org.springframework.dao.EmptyResultDataAccessException: Item 2 of 10 did not update any rows

토마토오이 2022. 1. 10. 21:49

 

에러 메시지 :

org.springframework.dao.EmptyResultDataAccessException: Item 2 of 10 did not update any rows

 

 

발생 원인 :

MyBatisBatchItemWriter 클래스로 <update> 구현 도중 read데이터 중, 10개 데이터 중에 2개는 업데이트 하지 않는 row여서 발생하는 에러.

write.assertUpdates 설정은 기본으로 true 설정되어있다. 

 

assertUpdates는 chunksize 단위로 처리되는데, 데이터 중 1개의 row라도 DB에서 처리되지 않으면 Exception을 발생시킨다.

 

 

해결 :

1 row라도 write처리 안할 경우

writer.assertUpdates를 false로 설정하고 재실행.  -> .assertUpdates(false)

 

 

 

Comments