通常hibernate查詢出的結果集是類似於 list或 list的型別
類似於下面這個方法
public listgetchosepaylist(sfjmsft jmsf) );
} catch (bdxcexception e)
return result;
}
其實hibernate可以查詢出list>型別的結果集。現簡單**
描述語句1
// 結果list中,每條記錄對應乙個object陣列,object中每個元素為hql語句中列的序號(從0開始)。
string hql=「select s.name from student s」;
list ls=session.createquery(hql).list();
for(string obj:ls)
語句2
//結果list中,每條記錄對應乙個map,map中key為hql語句中的序號,從0開始,key為字元,非數字。
string hql=「select new map(s.name) from student s」;
list ls=session.createquery(hql).list();
for(map m:ls)
語句3
//結果list中,每條記錄對應乙個map,map中key為hql語句中的別名。
string hql=「select new map(s.name as name) from student s」;
list ls=session.createquery(hql).list();
for(map m:ls)
hibernate對 select new map型別的hql解析的時候,遇到map這個關鍵字,將後面的列作為值,別名作為鍵(若無別名,則用數字代替)存入到乙個hashmap中。
方法中使用該型別hql
public string getthirdpaylist(bdxcpagecontext context, sfjmsft queryvo)
附:select new ***型別解釋
select new list(p.name, p.address) from person as p ;
--select將選擇出來的屬性存入乙個list物件中
select new classtest(p.name, p.address) from person as p;
--select將選擇出來的屬性封裝成物件,前提是classtest支援p.name, p.address的建構函式,
select new map(p.name as personname) from person as p ;
--select將選中的表示式命名為別名,這種用法與new map()結合,選擇出來的是map結構, 以personname為key,將實際選擇出來的值作為value
HQL多個屬性查詢語法
string hql select id,name from street 例如 configuration conf new configuration configure sessionfactory sf conf.buildsessionfactory session session sf....
HQL不常用語法
1 刪除hive表中乙個或多個分割槽 alter table drop partition ymd 20200415 alter table drop partition ymd 20200415 alter table drop partition ymd 20200401,ymd 2020041...
Mysql按降序排序語法和HQL語句的語法
一,hql語句的寫法 資料庫從大到小排序 string hql from users u order by u.observtimes desc 從地幾條記錄查詢到第幾條記錄 query.setfirstresult 0 從第0個資料 query.setmaxresults 10 查詢到錢10個資料...