在Hibernate新版本(其实发布很久了,- - !)中支持如下写法:
select new User(u.name, u.gender) from User u where u.name like '%a%';
但是,需要在User.java中添加构造函数
public User(String name, int gender) {
this.name = name;
this.gender = gender;
}
如果需要distinct,可以加在select之后,new之前。