国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Hibernate 深入研究之 Criteria

2019-11-18 13:34:38
字體:
來源:轉載
供稿:網友

   最近在項目中使用 SPRing 和 Hibernate 進行開發,有感于 Criteria 比較好用,在查詢方法設計上可以靈活的根據 Criteria 的特點來方便地進行查詢條件的組裝。所以現在對 Hibernate 的 Criteria 深入研究一下?!?Hibernate Reference 》及網上其它一些資料對 Criteria 已經做了很多介紹。本文主要是從 Criteria 的結構入手來進行分析。

       如圖 1 。 Hibernate 設計了 Criteriaspecification 作為 Criteria 的頂級接口,其下面提供了 Criteria 和 DetachedCriteria 。

Criteria 和 DetachedCriteria 的主要區別在于創建的形式不一樣, Criteria 是在線的,所以它是由 Hibernate session 進行創建的;而 DetachedCriteria 是離線的,創建時無需 Session , DetachedCriteria 提供了 4 個靜態方法 forClass(Class) 或 forEntityName(Name) 進行 DetachedCriteria 實例的創建。 Spring 的框架提供了

getHibernateTemplate().findByCriteria(detachedCriteria) 方法可以很方便地根據

DetachedCriteria 來返回查詢結果。

如圖 1 , Criteria 和 DetachedCriteria 均可使用 Criterion 和 Projection 設置查詢條件??梢栽O置 FetchMode( 聯合查詢抓取的模式 ) ,設置排序方式。對于 Criteria 還可以設置 FlushModel (沖刷 Session 的方式)和 LockMode (數據庫鎖模式)。

下面就對 Criterion 和 Projection 進行具體說明。

       Hibernate 深入研究之 Criteria(圖一)

點擊查看大圖

圖 1

 

       Criterion 是 Criteria 的查詢條件。

Criteria 提供了 add(Criterion criterion) 方法來添加查詢條件。圖 2 是 Criterion 的結構圖。 Criterion 接口的主要實現包括: Example 、 Junction 和 SimpleEXPression 。而 Junction 的實際使用是它的兩個子類 conjunction 和 disjunction ,分別是使用 AND 和 OR 操作符進行來聯結查詢條件集合。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淅川县| 南皮县| 达孜县| 泾阳县| 塔城市| 泉州市| 兴和县| 阿尔山市| 西峡县| 开封县| 溆浦县| 墨竹工卡县| 东至县| 潼南县| 大邑县| 宜城市| 孟村| 大名县| 晴隆县| 崇义县| 壶关县| 太保市| 阳原县| 安泽县| 浏阳市| 榆林市| 伊金霍洛旗| 兰坪| 文安县| 桦甸市| 如皋市| 湖口县| 贵德县| 荣昌县| 得荣县| 偏关县| 合水县| 福安市| 阿图什市| 钦州市| 大埔区|