之前在使用 spring+hibernate 宣告式事務管理時,總是出錯,無法進行事務管理,摸索了很久,終於明白。
既然使用 srping管理事務,那麼所有的 bean都要在 springioc中進行管理,否則何談 spring宣告式事務,包括 dao層,service層和 controller層
在 controller層中
通過getbean來得到 service層物件,並進行操作。
之前我出錯在,對 defaultfooservice 採用單例模式
defaultfooservice defaultfooservice = defaultfooservice.getinstance();
如此管理操作 service層
這裡獲得的 defaultfooservice並不是由 spring注入的那個物件,進而無法使用宣告式事務管理
spring管理的預設是單例模式
spring hibernate引起的延遲載入
在hibernate中,延遲載入是1個非常大的優點,但有時候卻給我們帶來一些小麻煩,在後台查詢結束 後,session已經關閉,但在前台顯示的時候,如果存在關聯關係就會產生延遲載入異常。解決辦法是客戶端每次請求就分配1個session,將請求結果返回給客戶端,並完成展現後關閉session 實現這個...
Spring Hibernate整合注意事項
1 spring jar包 需要額外加入 commons pool 和commons dbcp 若包含 spring 自帶的測試,還需要引入 spring test 2 spring beans.xml 如果使用了 spring annotation 則需要加入以下兩項配置 前提是已經匯入了bean...
spring hibernate事務的配置
最近要用到spring hibernate來開發。下面來說一下這兩都組合後的事務管理問題。首先我們來明白什麼是事務,簡單的說就是一次對資料庫的操作。事務它有四個特性 原子性,永續性,隔離性和一致性。原子性是指 對資料庫的一次原子操作,要麼從裡寫資料,要麼刪除資料。隔離性是指 由併發事務所作的修改必須...