跨越這個例子就是在HIbernate commit() and flush()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();
我的理解是休眠模式,休眠同步DB會話時,我們做session.save(customer)
或session.update(....)
? 是否只在提交/刷新/刷新時進行升級,而不是在更新/保存時進行升級?
在我的測試案例中,當我執行'session.save(customer)or session.update(....)'時,我沒有看到任何插入/更新查詢被觸發。它只發生在提交或刷新時發生。所以你的語句'那是INSERT,UPDATE和DELETE語句被執行的時候'。在這裏似乎不正確? – emilly
您確實在確認我的陳述。仔細閱讀 –