2010-08-11 146 views
0

對於一個應用程序,我使用Struts2,hibernate和spring進行注入。任何時候我將一個對象保存到數據庫中,我都必須在Serivces類(在此注入的會話)內部執行。在任何操作類中,如果我獲取當前會話並保存它,它不會將該對象保存到數據庫。雖然,我確實看到在日誌中插入.....這是爲什麼?休眠保存對象

回答

0

我假設你沒有進行事務處理。在事務提交之前,您不會在數據庫中看到記錄。

我猜Spring在您的服務類中自動管理事務。但是,如果直接使用會話,則還需要在代碼中啓動/提交事務。

詳情請參閱http://docs.jboss.org/hibernate/stable/core/reference/en/html/transactions.html

+0

你知道嗎,現在我想想...服務類被註解@Transactional,這是否意味着,對於內幕交易的任何代碼將被處理,但如果我到外邊打去該類...我必須手動提交事務? – Nish 2010-08-11 18:10:15

+0

我明白了......謝謝! – Nish 2010-08-11 18:15:45