------------吾亦無他,唯手熟爾,謙卑若愚,好學若饑-------------
本篇部落格将叙述hibernate中的投影查詢
一,目錄:
1.解釋什麼是投影查詢
2.傳回Object單個對象(可以是強類型,無所謂)
3.傳回Object數組
4.傳回自定義的對象
二,解釋什麼是投影查詢:
sql語句: select name,age from userinfo;
如果用hibernate中就不是這麼表示,select後面的列名就是需要投影的列,通過特定的寫法,直接傳回可以操作的對象
三,傳回Object單個對象(可以是強類型,無所謂)
@Test
/*投影成object類型*/
public void t01TouyingObject(){
String hql="select name from Teacher";
List<Object> list = session.createQuery(hql).list();
for (Object t:list){
System.out.println(t);
}
}
四,傳回Object數組
@Test
/*投影成object[]類型*/
public void t02TouyingObjectArr(){
String hql="select name,sal from Teacher";
List<Object[]> list = session.createQuery(hql).list();
for (Object[] t:list){
System.out.println(t[0]);
System.out.println(t[1]);
}
}
五,傳回自定義的對象
值得注意的是,必須有對應的構造方法:
@Test
/*投影成自定義對象類型*/
public void t03TouyingObjectMyself(){
String hql="select new Teacher(name,sal) from Teacher";
List<Teacher> list = session.createQuery(hql).list();
for (Teacher t:list){
System.out.println(t);
}
}