我在我的项目中使用Hibernate。我有一个场景,我保存对象,
remittanceTransactionDao.updateRemittanceTransaction(remittanceTransaction);
然后调用需要访问上面更新数据的存储过程。
remittanceTransactionDao.deductAgentCommission(remittanceTransaction.getRemittanceNo(), "ADD");
但到那时,第一个(更新)语句仍未在db中执行,因此以下方法无法找到该值。 Hibernate数据库更新速度慢还是执行不佳?我该如何优化?
答案 0 :(得分:0)
Hibernate会延迟对数据库的更新,直到确实需要为止。这样可以通过在事务被回滚的情况下不进行不必要的更新以及通过批处理语句来提高性能。
要强制它将所有挂起的更改写入数据库,您需要调用Session.flush()
。