3 개의 테이블에 15000 개 이상의 행을 삽입/업데이트해야한다는 요구 사항이 있습니다. 총 삽입 수가 45k입니다.Stateless 세션을 사용하는 대량 삽입/업데이트 - 최대 절전 모드
온라인으로 읽은 후 hibernate에서 Statelesssession을 사용했는데 컨텍스트 캐시가 없으므로 일괄 처리에 가장 적합합니다.
session = sessionFactory.openStatelessSession;
for(Employee e: emplList) {
session.insert(e);
}
transcation.commit;
그러나이 코드는 완료하는 데 1 시간 이상 걸립니다.
한 번에 모든 개체 개체를 저장하는 방법이 있습니까? 전체 컬렉션을 하나씩 저장하지 않고 저장 하시겠습니까?
편집 : 빠른 삽입을 제공 할 수있는 다른 프레임 워크가 있습니까?
건배 !! 그 Hibernate는 배치 할 수 있습니다
hibernate.jdbc.batch_size
: 당신은 최대 절전 모드 속성을 설정했는지 확인해야합니다
How to batch INSERT and UPDATE statements with Hibernate
간단한 세션으로'hibernate.order_inserts'와'hibernate.order_updates'을 해봤습니까? 또한 직원 한 명을 저장할 때 실행되는 SQL 문을 표시 할 수 있습니까? –