1. 程式人生 > >Hibernate查詢資料的五種方式

Hibernate查詢資料的五種方式


1.導航物件圖查詢:根據已經載入的物件,導航到其他物件。


例如,對於已經載入的Customer物件,呼叫它getOrders().iterator()方法就可以導航到所有關聯的Order物件,假如在關聯級別使用了延遲載入檢索策略,那麼首次執行此方法時,Hibernate會從資料庫中載入關聯的Order物件,否則就從快取中取得Order物件。

2.OID方式:按照物件的OID來檢索物件。


Session的get()和load()方法提供了這種功能。如果在應用程式中事先知道了OID,就可以使用這種檢索物件的方式。

2.1.get與load比較

get()和load(),它們的用法完全一樣,都需要兩個引數,第1個是持久化物件類名.class,第2個是行號,也就是說這2個方法都只能返回固定的某一行的資料,但是需要注意的是:當輸入的引數行號在資料庫中不存在時,get()會返回一個空物件,不會報錯,而load()會直接報錯。

3.HQL檢索方式:Hibernate Query Language(重要的、Hibernate強調的)


使用面向物件的HQL查詢語言。Session的find()方法用於執行HQL查詢語句。此外,Hibernate還提供了Query介面,它是Hibernate提供的專門的HQL查詢介面,能夠執行各種複雜的HQL查詢語句。 
它具有以下功能: 
1)在查詢語句中設定各種查詢條件 
2)支援投影查詢,即僅檢索出物件的部分屬性 
3)支援分頁查詢 
4)支援連線查詢 
5)支援分組查詢,允許使用having和group by關鍵字 
6)提供內建聚集函式,如sum()、min()和max() 
7)能夠呼叫使用者定義的SQL函式 
8)支援子查詢,即嵌入式查詢 
9)支援動態繫結引數 
例:Query query = session.createQuery(“from UserPO”);獲得一個query物件,注意引數字串中不是一個SQL語句,from後面跟的是持久化物件名字,List list = query.list();就可以獲得資料庫中對應表的資料集合

4.QBC檢索方式:Query By Criteria的API來檢索物件


這種API封裝了基於字串形式的查詢語句,提供了更加面向物件的介面 
例:Criteria cr = session.createCriteria(UserPO.class);建立一個Criteria物件,引數是所關聯的持久化物件,cr.add(Restrictions.ge(“id”, 2));將查詢條件加入物件中,後面的操作就和query物件一樣了。

5.本地SQL:SQL語句查詢


使用本地資料庫的SQL查詢語句,Hibernate會負責把檢索到的JDBC ResultSet結果集對映為持久化物件圖。

相關推薦

Hibernate查詢資料方式

1.導航物件圖查詢:根據已經載入的物件,導航到其他物件。 例如,對於已經載入的Customer物件,呼叫它getOrders().iterator()方法就可以導航到所有關聯的Order物件,假如在關聯級別使用了延遲載入檢索策略,那麼首次執行此方法時,Hibernate

Hibernate中的資料檢索方式

Hibernate檢索資料的五種方式: 1.導航物件圖檢索方式。(根據已經載入的物件,導航到其他物件。) 2.OID檢索方式。(按照物件的OID來檢索物件。) 3.HQL檢索方式。(使用面向物件的HQL查詢語言。) 4.QBC檢索方式。(使用QBC(Qurey By Cri

hibernate資料查詢的幾方式

1.使用主鍵id載入物件(load(),get()); 2.通過物件導航,比如通過stu.getTeam()得到team的例項; 3 使用hql; 4使用qbc(query by criteria) 5直接使用sql語句取得記錄集; 一般都使用後面三種方式. 注意.hql是面

Hibernate的條件查詢的幾方式+查詢所有的記錄

數據庫 rop query 寫法 OS 由於 AC 對象 tst 1、 第一種,用?占位符,如: //登錄(用?占位符) public List<UserPO> LoginUser(UserPO up)throws Exception{ Session

Android資料儲存方式

https://www.cnblogs.com/ITtangtang/p/3920916.html SharedPreferences的基本使用-----存,刪,改,查:https://www.cnblogs.com/qianzf/p/7582400.html Android Sha

Spring管理 hibernate 事務配置的方式

Spring配置檔案中關於事務配置總是由三個組成部分,DataSource、TransactionManager和代理機制這三部分,無論是那種配置方法,一般變化的只是代理機制這塊!   首先我建立了兩個類,一個介面一個實現: Java程式碼&

Hive中表的資料匯入(方式)

目錄 總結: load: insert: 建立表並載入資料(As Select): location: import: 總結: 總結: hive中一共有五種資料匯出的方式: ①:load data方式,如果路徑是local是追加,若為HDFS則

SpringMVC的controller向jsp傳遞資料方式詳解

第一種   使用model來儲存資料到前臺我的專案目錄為我的controller頁面程式碼@RequestMapping("/demo") public String Model(Model model

Android資料儲存方式總結

SharePreferences是用來儲存一些簡單配置資訊的一種機制,使用Map資料結構來儲存資料,以鍵值對的方式儲存,採用了XML格式將資料儲存到裝置中。例如儲存登入使用者的使用者名稱和密碼。只能在同一個包內使用,不能在不同的包之間使用,其實也就是說只能在創建它的應用

Spring管理 hibernate 事務配置的方式

Spring配置檔案中關於事務配置總是由三個組成部分,DataSource、TransactionManager和代理機制這三部分,無論是那種配置方法,一般變化的只是代理機制這塊! 首先我建立了兩個類,一個介面一個實現: Java程式碼  

Android 資料儲存方式使用與總結

轉載自http://blog.csdn.net/amazing7/article/details/51437435 1、概述   Android提供了5種方式來讓使用者儲存持久化應用程式資料。根據自己的需求來做選擇,比如資料是否是應用程式私有的,是否能被其他程式訪

Android常見資料儲存方式

本文介紹Android平臺進行資料儲存的五大方式,分別如下:    下面詳細講解這五種方式的特點 第一種: SharedPreferences儲存資料 適用範圍:儲存少量的資料,且這些資料的格式非常簡單:字串型、基本型別的值。

資料儲存(方式)SharedPreferences儲存

一.SharedPreferences儲存 1.使用SharedPreferences儲存資料時,不需要指定檔案字尾,字尾自動設定為*.xml。 2.儲存資料---SaveData.java publicclass MySharedPreferencesDemo exte

資料儲存(方式二)-檔案儲存

檔案儲存 1.SharedPreference只能儲存一些簡單的資料,要想儲存更多型別的資料,需要使用檔案的儲存操作。有兩種形式: 形式一:直接利用Activity提供的檔案操作方法。此類操作的所有檔案路徑只能是“data\data\<packagename>

SSH深度歷險(六) 深入淺出----- Spring事務配置的方式

配置 處理 數據 data easy ont get 添加 由於 這對時間在學習SSH中Spring架構,Spring的事務配置做了具體總結。在此之間對Spring的事務配置僅僅是停留在聽說的階段,總結一下。總體把控。通過這次的學習發覺Spring的事務

Android之——ContentResolver查詢的三方式

popu com 耗時 封裝 target 最適 token res 數據庫 轉載請註明出處:http://blog.csdn.net/l1028386804/article/details/47785491 今天做到一個小項目。查詢手機中短信的信息,當然得去系

PHP讀取文件內容的方式

ria feof function word man val toolbar article str php讀取文件內容的五種方式 分享下php讀取文件內容的五種方法:好吧,寫完後發現文件全部沒有關閉。實際應用當中,請註意關閉 fclose($fp);-- php讀取文件內

Mybatis的select查詢的三方式

println actor select -m nbsp 運行 oid 速度 org 1、首先建立一個測試的dao 1 public interface IStudentDao { 2 3 // 根據姓名查詢 4 List<Student>

mybatis進行模糊查詢的幾方式

單個 ase nco ash face myba select from rda mapper文件: <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org

Spring之jdbcTemplate:查詢的三方式(單個值、單個對象、對象集合)

res finally 結構 execute date rep frame 參數 system JdbcTemplateDemo2.java 1 package helloworld.jdbcTemplate; 2 3 import org.springf