2013-04-09 141 views
0

我在我的項目中使用Hibernate。我得到了一個場景,我保存對象,休眠數據插入緩慢

remittanceTransactionDao.updateRemittanceTransaction(remittanceTransaction); 

然後調用需要訪問上面正在更新的數據的存儲過程。

remittanceTransactionDao.deductAgentCommission(remittanceTransaction.getRemittanceNo(), "ADD"); 

但在那個時候,第一個(更新)語句仍然沒有在數據庫中執行,因此該值以下方法無法找到。 Hibernate數據庫更新速度緩慢還是實施差?我如何優化?

回答

0

休眠延遲更新到數據庫,直到它真的有必要。這可以通過在事務回滾的情況下不進行不必要的更新以及通過批處理語句來提高性能。

要強制它將所有待處理的更改寫入數據庫,您需要致電Session.flush()

+0

解決方案非常簡單。正如你所說,我稱this.getsession.flush()並解決問題。謝謝 ! – 2013-04-10 03:00:18