怎么让HQL的select子句返回你想要的类型
如何让HQL的select子句返回你想要的类型
通过这几天对hql的学习 发现个有趣的事情 返回select子句 想要的类型
首先顶一个实体类
public class Person{
private Integer id;
private String name;
private String password;
//关键是构造方法 你想返回什么样的东东,就定义什么样的东西。
public Person(){
//默认的
}
public Person(Integer id,String name){
//只要id 和 name的
this.id = id;
this.name = name;
}
//get and set .....
}
//然后就是写查询hql语句了
//如果你只想要id和name 那么就这样写
select new Person(p.id , p.name) from Person p;
//然后接收就可以用List<Person> 了。
猛一看很是鸡肋,但是在我用在group by里时 就用到了 要不然 hibernate默认是给你返回Object[] 数组的。当然你也可以把它一List的方式返回
select new List(p.id , p.name) from Person p; //就可以了
详细请看《hibernate_reference.pdf》我这几天 就看它又仔细的学习了hql查询。。。
通过这几天对hql的学习 发现个有趣的事情 返回select子句 想要的类型
首先顶一个实体类
public class Person{
private Integer id;
private String name;
private String password;
//关键是构造方法 你想返回什么样的东东,就定义什么样的东西。
public Person(){
//默认的
}
public Person(Integer id,String name){
//只要id 和 name的
this.id = id;
this.name = name;
}
//get and set .....
}
//然后就是写查询hql语句了
//如果你只想要id和name 那么就这样写
select new Person(p.id , p.name) from Person p;
//然后接收就可以用List<Person> 了。
猛一看很是鸡肋,但是在我用在group by里时 就用到了 要不然 hibernate默认是给你返回Object[] 数组的。当然你也可以把它一List的方式返回
select new List(p.id , p.name) from Person p; //就可以了
详细请看《hibernate_reference.pdf》我这几天 就看它又仔细的学习了hql查询。。。