목적 : 기본 키의 주어진 목록에서 같은 테이블의 일부 열을 업데이트하고 반환 INT [] 행 업데이트가 성공할 경우 표시 안함스프링 데이터 JPA 업데이트 여러 행이
쿼리 (네이티브되지 않음) 주문 :
update MyEntity e set e.col_1 = :v1, e.col_2 = :v2 where e.id in :ids
스프링 데이터 JPA 방법 :
@Modifying(clearAutomatically = true)
@Transactional
public int updateCols(@Param("v1") String v1, @Param("v2") String v2, @Param("ids") List<Long> idList);
JpaTransactionManager 스프링이 사용되는
질문 : 1) 스프링 데이터 JPA 만 사용하면 어떻게 할 수 있습니까? (커다란 기존 코드로 인해 저장소가 아닌 옵션을 사용자 정의), Spring 데이터 JPA만으로 JDBC 배치 업데이트와 동일한 효과를 얻고 싶습니다.
2) 스프링 데이터 JAP가 위의 업데이트 방법으로 입력 목록 크기보다 작은 정수를 반환 할 수 있습니까? 그러한 일이 발생할 수 있다면 입력 목록에있는 입력란 중 어느 것이 실패했는지 어떻게 알 수 있습니까? 어떤 순서로든?
3) 위의 방법을 성공적으로 완료 한 후 데이터베이스 행이 전혀 업데이트되지 않는 것으로 나타났습니다. 어떻게 스프링 데이터 jpa로 데이터베이스와 동기화 할 수 있습니까?
4) 엔티티 업데이트가 스프링 데이터 JPA로 플러시되지 않으면 일괄 처리 대신 하나씩 업데이트해도 데이터베이스가 변경되지는 않습니다. 미리 감사드립니다.