hibernate select語句返回的類型

Person類中包含有MyEvent這個類 java

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

1、HQL from語句 

一、結果類型: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

二、結果類型 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語句 

一、結果類型:  List<String> 

select p.name from Person as p

二、結果類型:List<Object[String,Person]>

select p.name,p from Person as p

三、結果類型:List<String,String>

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

四、結果類型:List<ClassTest>

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

   注意:前提ClassTest 類有兩個參數的構造器。 spa

五、結果類型:List<map<String,String>>

select new map(p.name as personName) from Person as p
相關文章
相關標籤/搜索