我需要插入大量的數據中使用Hibernate數據庫中,我一直在尋找從休眠批量插入,我現在用的就是類似手冊上的例子:hibernate批量插入 - 如何刷新工作?
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
for (int i=0; i<100000; i++) {
Customer customer = new Customer(.....);
session.save(customer);
if (i % 20 == 0) { //20, same as the JDBC batch size
//flush a batch of inserts and release memory:
session.flush();
session.clear();
}
}
tx.commit();
session.close();
,但我看到的是齊平不會將數據寫入數據庫。 讀取它,如果代碼在事務中,則在事務執行提交之前,不會將任何內容提交到數據庫。
那麼需要使用flush/clear?似乎沒用,如果數據沒有寫在數據庫上,那麼他們在內存中。
如何強制hibernate在數據庫中寫入數據?直到事務被提交
感謝