摘要: PROPAGATION_REQUIRED--支持當(dāng)前事務(wù),如果當(dāng)前沒(méi)有事務(wù),就新建一個(gè)事務(wù)。這是最常見(jiàn)的選擇。
PROPAGATION_SUPPORTS--支持當(dāng)前事務(wù),如果當(dāng)前沒(méi)有事務(wù),就以非事務(wù)方式執(zhí)行。
PROPAGATION_MANDATORY--支持當(dāng)前事務(wù),如果當(dāng)前沒(méi)有事務(wù),就拋出異常。
PROPAGATION_REQUIRES_NEW--新建事務(wù),如果當(dāng)前存在事務(wù),把當(dāng)前事務(wù)掛起。
PROPAGATION_NOT_SUPPORTED--以非事務(wù)方式執(zhí)行操作,如果當(dāng)前存在事務(wù),就把當(dāng)前事務(wù)掛起。
PROPAGATION_NEVER--以非事務(wù)方式執(zhí)行,如果當(dāng)前存在事務(wù),則拋出異常。
閱讀全文
摘要: OpenSessionInViewFilter是Spring提供的一個(gè)針對(duì)Hibernate的一個(gè)支持類(lèi),其主要意思是在發(fā)起一個(gè)頁(yè)面請(qǐng)求時(shí)打開(kāi) Hibernate的Session,一直保持這個(gè)Session,直到這個(gè)請(qǐng)求結(jié)束,具體是通過(guò)一個(gè)Filter來(lái)實(shí)現(xiàn)的。
由于 Hibernate引入了Lazy Load特性,使得脫離Hibernate的Session周期的對(duì)象如果再想通過(guò)getter方法取到其關(guān)聯(lián)對(duì)象的值,Hibernate會(huì)拋出一個(gè) LazyLoad的Exception。所以為了解決這個(gè)問(wèn)題,Spring引入了這個(gè)Filter,使得Hibernate的Session的生命周期變長(zhǎng)。
閱讀全文
摘要: find(String queryString , Object value);
示例:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test");
或模糊查詢:this.getHibernateTemplate().find("from bean.User u where u.name like ?", "%test%");
返回name屬性值為test的對(duì)象(模糊查詢,返回name屬性值包含test的對(duì)象)
閱讀全文