當不需要全體字段或是不必要的字段屬性映射匹配影響效率時,我們可以使用在HQL語句中直接返回一個Java對象,如下:
select new com.heyang.domain.Folder(id,pid,name) from Category c
需要注意的是:
1.Folder類應該寫全路徑名,如上面的com.heyang.domain.Folder,否則Hibernate會說Unable to locate class ‘Folder’。
2.Folder類應該具有一個和參數相匹配的構造函數,如果上面的id,pid,name三個字段的類型分別是long,long,vchar,那么Folder類的構造函數應該是Folder(Long op1,Long op2,String op3);的形式。
就是這樣,很簡單,簡單到Hibernate幫助手冊都對之語焉不詳,寫出來注意一下就好了。