기술 스택 : Oracle 데이터베이스 11.2.0.2, Java 1.6, Hibernate 3.6.6. 최종.Hibernate - 배치 삽입이 실제로 수행되었는지 확인하는 방법
저는 동면하는 것이 처음입니다. 사소한 경우 사과드립니다.
Transaction tx = session.beginTransaction();
for (int i = 0; i < 10; i++) {
POJO pojo = new POJO(i);
session.save(pojo);
}
tx.commit();
hibernate.cfg.xml
최대 절전 모드 정말이 모든 삽입을 일괄 처리하는 경우 다음 항목
<property name="jdbc.batch_size">500</property>
가 어떻게, 확인할 수있다 :
다음 코드는 몇 가지 최적화를 넣어했는데? 그것보다 10 인서트를 수행하면 이득이 없습니다. 내 경우
String query = "retrieve previously added element"
PreparedStatement stmt = session.connection().prepareStatement(query.toString());
Result rs = statement.executeQuery();
/** check contents of rs */
가 이전에 추가 한 요소와 비어 있지 않은 집합을 반환 : 하나의 아이디어는 기록이 DB에 추가 된 경우 확인하는 JDBC 일반 쿼리 직후 save()
를 넣어하는 것입니다. 아무 의미 없어? 일괄 처리가 작동하는지 다른 방법으로 확인할 수 있습니다. 사전
내가 이해가 안 무서워요 리팩토링 –
후 트랜잭션 메소드 코드를 추가합니다. –