1.<class>元素的<cache>子元素表明hibernate會緩存當前對象的簡單屬性的值,但是它不會同時緩存該對象的集合屬性.如果希望緩存集合屬性的元素,必須在集合元素中加入<cache>子元素.
2.經測試發現,hibernate在保存querycache結果集的時候,會保存相關聯的數據.當在user對象上設置緩存時.
假設:該條結果集的id為123
select * from user where name = 'sway'
hibernate不光保存該條sql語句的結果集,還會保存id=123的user對象(相當于select * from user where id=123).
3.奇怪的問題,代碼如下
pMenuItem.getChilds().clear();hibernate延遲加載不能。
改成
if (!pMenuItem.getChilds().isEmpty()) {
pMenuItem.getChilds().clear();
}
hibernate開始調數據庫。原因不明。