728x90 반응형 벌크연산1 [JPA/Java] JPQL 벌크 연산 재고가 10개 미만인 모든 상품의 가격을 10% 올리려면 어떻게 해야할까? JPA 변경 감지 기능으로 실행하려면 너무 많은 SQL이 실행되어야 한다. (1) 재고가 10개 미만인 상품을 리스트로 조회한다. (2) 상품 엔티티의 가격을 10% 증가한다 (3) 트랜잭션 커밋 시점에 변경감지가 동작한다. 변경된 데이터가 100건이라면 100번의 UPDATE SQL이 실행될 것이다. 벌크 연산은 쿼리 한 번으로 여러 테이블 로우를 변경한다(엔티티) executeUpdate()의 결과는 영향받은 엔티티의 수를 반환하는데, UPDATE, DELETE 쿼리를 지원한다 INSERT(insert into .. select, 하이버네이트 지원) String qlString = "update Product p " + "se.. 2023. 5. 11. 이전 1 다음 728x90 반응형