我正在寫測試,看看我的getHibernateTemplate().delete(x)
是否有效。 現在我發現在單個測試中似乎有一些緩存(我的測試類擴展延伸至AbstractTransactionalDataSourceSpringContextTests
)。春季hibernatetemplate:刪除緩存?
我的意思是以下內容。 我的刪除功能:
它存在嗎?
是:刪除它並返回true
否:返回false。
現在我試着在我的測試函數中做兩個斷言。
第一個是assertTrue來檢查它是否真的被刪除
第二個是assertFalse,看它是否正確返回false。
但是我的第二個測試失敗了,當我調試它時,它確實轉到了真正的部分。
但是,如果我添加以下行getHibernateTemplate().find("from classX");
作爲刪除功能中的第一行,它將按預期工作。儘管我對價值無所作爲。所以緩存問題似乎是最合乎邏輯的。
有沒有人有任何建議,因爲留在那裏的行似乎有點骯髒。
只是一個小小的一面注意:HibernateTemplate自Spring2以來有點不推薦使用了。檢查http://www.kimchy.org/hibernate_vs_spring_hibernate_template/ – fasseg
@ smeg4brains:HibernateTemplate在原始Hibernate上的選擇是一種個性化和風格化的選擇。我仍然喜歡使用'HibernateTemplate',我認爲API更好。這絕對不會被廢棄,只是現在你可以選擇不使用它。 – skaffman
@skaffman:絕對正確。這就是爲什麼我使用措辭「有點不贊成」:)但你說得對,這無疑是開發者的選擇。 – fasseg