1. 程式人生 > >session.createQuery()與createSQLQuery()區別

session.createQuery()與createSQLQuery()區別

createQuery與createSQLQuery兩者區別是: 


前者用的hql語句進行查詢,後者可以用sql語句查詢 

前者以hibernate生成的Bean為物件裝入list返回 

後者則是以物件陣列進行儲存 

所以使用createSQLQuery有時候也想以hibernate生成的Bean為物件裝入list返回,就不是很方便 

突然發現createSQLQuery有這樣一個方法可以直接轉換物件 

Query query = session.createSQLQuery(sql).addEntity(XXXXXXX.class); 

XXXXXXX 代表以hibernate生成的Bean的物件,也就是資料表映射出的Bean。 


呵呵以後多注意,還是時不時的要看看hibernate各個物件方法的使用。 



還有另外一個相關的小細節應注意: 

比如有這樣一個po 

PO: User.class 
properties: userId,userName 
DDL: create table tuser (userid varchar(10),username varchar(20)); 

當執行: 
    session.createQuery("from User u").list()時生成的SQL: 
  select userid,username from tuser; 

當執行: 

session.createQuery("from User u").iterator()時生成的SQL: 


select userid from tuser; 

可以看出list()一次將資料從資料庫中讀出直接填充到List中 

iterator()將資料的主鍵從資料庫中讀出,當迴圈這個Iterator時才新增執行: 

select userid,username from user where userid=?;把資料讀出。 

在不同的應用範圍使用不同的方法,具體在hibernate應用中應當注意。

相關推薦

session.createQuery()createSQLQuery()區別

createQuery與createSQLQuery兩者區別是: 前者用的hql語句進行查詢,後者可以用sql語句查詢 前者以hibernate生成的Bean為物件裝入list返回 後者則是以物件陣列進行儲存 所以使用createSQLQuery有時候也想以hibernat

session.createQuery()createSQLQuery()區別 .

 createQuery與createSQLQuery兩者區別是: 前者用的hql語句進行查詢,後者可以用sql語句查詢 前者以hibernate生成的Bean為物件裝入list返回 後者則是以物件陣列進行儲存 所以使用createSQLQuery有時候也想以hibernate生成的Bean為物件裝入

createQuerycreateSQLQuery區別

hibernate .class add 區別 映射 就是 create 實體 數組     前者用的hql語句進行查詢,後者可以用sql語句查詢,前者以hibernate生成的Bean(實體類)為對象裝入list返回,後者則是以對象數組進行存儲;     createSQ

Hibernate中createQuerycreateSQLQuery區別

前者用的hql語句進行查詢,後者可以用sql語句查詢. 前者以Hibernate生成的Bean為物件裝入list返回,hql是Hibernate實現的比較oo的sql語句. 後者則是以物件陣列進行儲存,如果查詢的記錄屬性沒能封裝成物件,則可以用物件陣列來取. 原來的查詢

Hibernate中createQuerycreateSQLQuery兩者的使用區別

如下是資料庫中的客戶資訊,希望通過客戶來源即custSource欄位進行統計。 查詢得到的結果如下,希望把結果存到map集合中。 public List countSource() { Session session=this.get

hibernate 中createQuerycreateSQLQuery的用法

sequence pri sem [1] temp source 一個 ren exceptio hibernate 中createQuery與createSQLQuery兩者區別是:前者用的hql語句進行查詢,後者可以用sql語句查詢前者以hibernate生成的Bean

hibernate 中createQuerycreateSQLQuery

rac cep add bject select 後者 bean對象 自動轉換 obj hibernate 中createQuery與createSQLQuery 昨晚幫同事看代碼到淩晨2點多,今早6點醒來發現他發來信息說報空指針錯誤,實在無法入睡,起來自己測試了一下,控制

HQL和SQL的區別createQuerycreateSQLQuery區別

hql是面向物件查詢,格式:from + 類名 + 類物件 + where + 物件的屬性sql是面向資料庫表查詢,格式:from + 表名 + where + 表中欄位1、查詢一般在Hibernate中使用查詢時,推薦使用hql(Hibernate Query Language)查詢語句。使用hql的時候需

php session機制cookie機制以及聯系區別

標識 級別 聯系 是什麽 生命周期 技術 路徑 多次 瀏覽器中 session與cookie是在做項目中很常用的會話技術,session與cookie也是面試中被問到頻率最高的問題,有一次我去面試,面試官就懟著我session與cookie一直問(頭都大了),下面總結了一些

Session和Cookie的區別聯系

會銷 驗證 了解 文件中 csharp OS 不同的 訪問量 對比 一,Session 1,概念:session存放在服務端,一般情況下,服務器默認30分鐘保存這個Session,過了時間限制就會銷毀,在銷毀之前,開發者可以將用戶的一些數據以key和value的形式暫時存

Session和Cookie的區別聯絡

一、會話的概念    會話就好比打電話,一次通話可以理解為一次會話。我們登入一個網站,在一個網站上不同的頁面瀏覽,最後退出這個網站,也是一個會話。一個網站對於不同的使用者會展示出不同的頁面資訊,但是在HTTP協議中,客戶端請求服務端是一種無狀態的連線-每次請求都

sessioncookie區別

轉載自:http://blog.csdn.net/axin66ok/article/details/6175522 1.cookie 是一種傳送到客戶瀏覽器的文字串控制代碼,並儲存在客戶機硬碟上,可以用來在某個WEB站點會話間持久的保持資料。 2.session其實指的

軟體測試人員必備網路知識(二):什麼是Session?CookieSession之間有哪些區別

什麼是Session?Session什麼時候產生?    Session:在計算機中,尤其是在網路應用中,稱為“會話控制”。Session 物件儲存特定使用者會話所需的屬性及配置資訊。這樣,當用戶在應用程式的 Web 頁之間跳轉時,儲存在 Session 物件中的變數將不會

面試題12——SessionCookie區別

cookie 和session 的區別: 1、cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上。 2、cookie不是很安全,別人可以分析存放在本地的COOKIE並進行COOKIE欺騙    考慮到安全應當使用session。 3、session會在

SessionCookie區別聯絡

關於Cookie Cookie,也稱為HTTPcookie,Web cookie或瀏覽器cookie,是從網站傳送到伺服器並存儲在使用者的Web瀏覽器中的一小部分資料。Cookie用於向網站建立者傳送關於上次訪問網站時使用者以前的活動的資訊。會話是兩個通訊裝置(如使用者計算

SessionApplication區別

1.session是會話變數,只要同一個瀏覽器沒有被關閉,session物件就會存在。因此在同一個瀏覽器視窗中,無論向伺服器傳送多少請求,session物件只有一個。但是如果在一個會話中,客戶端長時間

Django筆記(cookiesession的運用及區別

目錄 怎麼使用 怎樣使用 cookie 瀏覽器端的會話技術 怎麼使用 設定cookie response = HttpResponse() # 設定cookies #response.set_cookie(key,value[,max_a

Java cookie和session介紹區別

  一、cookie機制和session機制的區別   具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。   同時我們也看到,由於才伺服器端保持狀態的方案在客戶端也需要儲存一個標識,所以session   機制可能

session理解總結【session原理、應用、cookie區別

session原理 session也是一種記錄瀏覽器狀態的機制,但與cookie不同的是,session是儲存在伺服器中。 由於http是無狀態協議,當伺服器儲存了多個使用者的session資料時,如何確認http請求對應伺服器上哪一條session,相當關鍵。這也是session原理的核心內容。 解決方法

HAProxyNginx區別

時間 請求 也會 維護 異常 會有 訪問 haproxy 失敗 1)HAProxy對於後端服務器一直在做健康檢測(就算請求沒過來的時候也會做健康檢查):後端機器故障發生在請求還沒到來的時候,haproxy會將這臺故障機切掉,但如果後端機器故障發生在請求到達期間,那麽前端訪問