2
今はentitymanagerを使用して、このようなコードを使用してDAOでデータベースにオブジェクトエンティティのリストを挿入しています。Hibernate EntityManager persist()とデータベース往復回数
@Transaction
public void insertBatch(List<EntityObject> o){
for(int i=0;i<o.size();i++){
em.persist(o);
if(o.size % 100 == 0){ //equal to JDBC batch size
em.flush();
em.clear();
}
}
}
そして、私は私の質問があり、この
Hibernate: insert into TABLE (FIELD1, FIELD2) values (?, ?)
Hibernate: insert into TABLE (FIELD1, FIELD2) values (?, ?)
...
...
...//untill reach 100 lines.
Hibernate: insert into TABLE (FIELD1, FIELD2) values (?, ?)
のようになります。アプリケーション・コンテキスト
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="true"/>
</bean>
</property>
にこれを追加することによって、SQL文とコンソールに結果を監視する場合。 私はこのメソッドを呼び出すたびに100回のデータベースとの往復を行うか、それとも1回だけの往復ですか?
いずれの回答や洞察もありがたいです。
ありがとうございました。
flush()の呼び出しの前にログステートメントを追加するだけで、あなた自身が見ることができます。 –