Hibernate HQL基础 投影查询
生活随笔
收集整理的這篇文章主要介紹了
Hibernate HQL基础 投影查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
HQL中投影查詢即查詢一個持久化類的一個或多個屬性值(不包括全部屬性值),則需要使用HQL的select子句。
1、查詢持久化對象的單一屬性值
?? 為查詢持久化對象的一個屬性值,在select子句后跟查詢的屬性名
示例:
public void testShadowQuery(){
?? ?? Session session = null;
?? ?? session = HibernateUtils.getCurrentSession();
?? ????? ?
??? ? String hql = "select title from Guestbook";
??? ? Query query = session.createQuery(hql);
??? ? List<String> list = query.list();
??? ? session.close();
??? ? for(String title : list){
??? ??? ? System.out.println(title);
??? ? }
??? ?
??? }
2、查詢持久化對象的多個屬性值
? 如果要查詢某個實體類的多個屬性值(不包含所有屬性值),在HQL中有3種方式實現:
?(1)、在HQL語句的select后指定所要查詢的多個屬性名
?????? 如:select title,content,name from Guestbook
?(2)、如果持久化類提供適當的構造方法,則可以使用HQL查詢時直接指定返回新建一個該持久類的對象。
??????
?????? 如:select new Guest(id,name,email) from Guestbook
?(3)、在HQL中使用Map類型
?????? 如:select new map(id,name,email) from Guestbook
??? 同時Query對象的list()方法返回一個包含多個Map對象的集合,所以在獲取每一個Map集合的值時的用法如下:
???? for(Map map :list){
??????
?????? System.out.println(map.get["0"]);
?????? System.out.println(map.get[“1”]);
?????? System.out.println(map.get["2"]);
??????
???? }
1、查詢持久化對象的單一屬性值
?? 為查詢持久化對象的一個屬性值,在select子句后跟查詢的屬性名
示例:
public void testShadowQuery(){
?? ?? Session session = null;
?? ?? session = HibernateUtils.getCurrentSession();
?? ????? ?
??? ? String hql = "select title from Guestbook";
??? ? Query query = session.createQuery(hql);
??? ? List<String> list = query.list();
??? ? session.close();
??? ? for(String title : list){
??? ??? ? System.out.println(title);
??? ? }
??? ?
??? }
2、查詢持久化對象的多個屬性值
? 如果要查詢某個實體類的多個屬性值(不包含所有屬性值),在HQL中有3種方式實現:
?(1)、在HQL語句的select后指定所要查詢的多個屬性名
?????? 如:select title,content,name from Guestbook
?(2)、如果持久化類提供適當的構造方法,則可以使用HQL查詢時直接指定返回新建一個該持久類的對象。
??????
?????? 如:select new Guest(id,name,email) from Guestbook
?(3)、在HQL中使用Map類型
?????? 如:select new map(id,name,email) from Guestbook
??? 同時Query對象的list()方法返回一個包含多個Map對象的集合,所以在獲取每一個Map集合的值時的用法如下:
???? for(Map map :list){
??????
?????? System.out.println(map.get["0"]);
?????? System.out.println(map.get[“1”]);
?????? System.out.println(map.get["2"]);
??????
???? }
轉載于:https://blog.51cto.com/wujuxiang/403700
總結
以上是生活随笔為你收集整理的Hibernate HQL基础 投影查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 还有多少时间可以用来读书
- 下一篇: 一步一步教你写带图片注释的淡入淡出插件(