当不需要全体字段或是不必要的字段属性映射匹配影响效率时,我们可以使用在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帮助手册都对之语焉不详,写出来注意一下就好了。