300x250
반응형
for(Stroe store : user.getStoreList()){
...
store.setActive(true);
storeRepository.save(store);
}
위와 같은 반복문을 돌리고 있는데
처음 한 번은 잘 돌더니 두번째에서 ConcurrentModificationException 에러가 발생했다.
java.util.ConcurrentModificationException: null
at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1043) ~[na:na]
at java.base/java.util.ArrayList$Itr.next(ArrayList.java:997) ~[na:na]
at org.hibernate.collection.internal.AbstractPersistentCollection$IteratorProxy.next(AbstractPersistentCollection.java:887) ~[hibernate-core-5.4.32.Final.jar:5.4.32.Final]
...
store를 조건으로 반복문을 돌리고 있는데
반복 와중에 대상이 되는 store 엔티티가 db상에서 변경되어 null이 뜨는 것이다.
db 객체를 바로 사용하지 않고 별도의 List로 만들어 for문의 조건에 사용하니 에러 안뜨고 잘 돌아감
for(Stroe store : user.getStoreList().stream().collect(Collectors.toList()){
...
store.setActive(true);
storeRepository.save(store);
}
300x250
반응형
'IT > 자바, 스프링' 카테고리의 다른 글
maria db timezone 한국시간으로 맞추기 (0) | 2022.03.17 |
---|---|
Access-Control-Allow-Origin 여러 도메인을 허가해 줄 수 없을까? (0) | 2022.02.22 |
자바 코드에서 오라클 oci 인스턴스 생성하기 (0) | 2022.01.13 |
스프링 부트에서 비동기로 작업하기 (0) | 2022.01.10 |
스네이크 케이스로 들어온 필드명을 카멜 케이스로 받기 (0) | 2022.01.06 |