hibernate select语句返回的类型

Person类中包含有MyEvent这个类 

public class Person{
   private Long id;
   private String name;
   private MyEvent myEvent;
}

一、HQL from语句 

1、结果类型:List<Person>

from Person  或者 from Person as p
from Person as p where p.myEvent.title = :title
注意:hibernate3.2.3之前总是对的。 
   hibernate3.2.3之后如果myEvent是普通属性或关联的实体也是对的,如果myEvent是一个集合会出异常 
   因此hibernate推荐使用下面的方式:
select p from Person as p inner join p.myEvent as e where e.title = :title

2、结果类型 List<Person,Event>

from Person as p inner join p.myEvent as event where event.title = : title
注:查询出来是:是一个集合,集合元素是Person,myEvent组成的数组。 
   结果类型: List<Person,Event> 
from Person as p left outer join p.myEvent as event where event.title = : title

注意:查询出来是:是一个集合,集合元素是Person,myEvent组成的数组。 
           结果类型: List<Person,Event>

from Person as p right outer join p.myEvent as event where event.title = : title
from Person as p full join p.myEvent as event where event.title = : title

第二:HQL select语句 

1、结果类型:  List<String> 

select p.name from Person as p

2、结果类型:List<Object[String,Person]>

select p.name,p from Person as p

3、结果类型:List<String,String>

select new List(p.name,p.address) from Person as p

4、结果类型:List<ClassTest>

select new ClassTest(p.name,p.address) from Person as p

   注意:前提ClassTest 类有两个参数的构造器。 

5、结果类型:List<map<String,String>>

select new map(p.name as personName) from Person as p

 

转载于:https://my.oschina.net/u/1754093/blog/707074

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值