假設要通過stuname查詢乙個學生student記錄,可以如下:
detachedcriteria dc = detachedcriteria.forclass(student.class);
dc.add(restrictions.like("stuname", stuname, matchmode.anywhere));
如果要通過student的team的teamname查詢乙個student記錄:
detachedcriteria dc = detachedcriteria.forclass(student.class);
dc.createalias("team", "t");
dc.add(restrictions.like("t.teamname", teamname, matchmode.anywhere));
這裡有乙個特殊情況,如果是對引用物件的id查詢,則可以不用建立引用,也就是可以不呼叫createalias()語句,如下所示:
detachedcriteria dc = detachedcriteria.forclass(student.class);
dc.add(restrictions.like("team.id", teamid, matchmode.anywhere));
多級查詢:
detachedcriteria dc = detachedcriteria.forclass(student.class);
dc.createalias("team", "t");
dc.createalias("t.school", "s");
dc.add(restrictions.like("s.schoolname", schoolname, matchmode.anywhere));
Hibernate 3 事務 查詢
二 查詢 三 1099占用解決方案 既然hibernate要和資料庫互動,那麼事務是必須要掌握的部分 為什麼要鎖 在併發訪問的時候,不使用鎖會導致部分資料並不能儲存到資料庫 private int version 版本號 public void setversion int version publ...
Hibernate3中的更新與刪除
在hibernate2中對某個表進行更新和刪除,必須先把它load出來,在後更改,然後再儲存。這個過程對於批量操作或者對於表關係比較複雜的情況,是很複雜的。在hibernate3中hql語句中已經支援update 和delete 了 但是要注意的是update和delete的hql不是物件導向的了。...
Hibernate 3 中文亂碼的解決
最近在專案中遇到了乙個問題,就是做查詢的時候,如果使用者輸入中文的話,明明資料庫有這樣的記錄,卻怎麼也檢索不到結果。作為除錯的手段,我把hql語句列印出來,也沒有發現什麼問題,和預期的一樣。甚是鬱悶,後來,上網查了一下資料,原來是hibernate3對中文的支援不是太好,需要在hibernate的配...