欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Hibernate 深入研究之Criteria
最近在項目中使用 Spring Hibernate 進(jìn)行開(kāi)發(fā),有感于 Criteria 比較好用,在查詢(xún)方法設計上可以靈活的根據 Criteria 的特點(diǎn)來(lái)方便地進(jìn)行查詢(xún)條件的組裝。所以現在對 Hibernate Criteria 深入研究一下?!?/span> Hibernate Reference 》及網(wǎng)上其它一些資料對 Criteria 已經(jīng)做了很多介紹。本文主要是從 Criteria 的結構入手來(lái)進(jìn)行分析。

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

Criteria DetachedCriteria 的主要區別在于創(chuàng )建的形式不一樣, Criteria 是在線(xiàn)的,所以它是由 Hibernate Session 進(jìn)行創(chuàng )建的;而 DetachedCriteria 是離線(xiàn)的,創(chuàng )建時(shí)無(wú)需 Session , DetachedCriteria 提供了 4 個(gè)靜態(tài)方法 forClass(Class) forEntityName(Name) 進(jìn)行 DetachedCriteria 實(shí)例的創(chuàng )建。 Spring 的框架提供了

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

DetachedCriteria 來(lái)返回查詢(xún)結果。

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

下面就對 Criterion Projection 進(jìn)行詳細說(shuō)明。

      

1

 

       Criterion Criteria 的查詢(xún)條件。

Criteria 提供了 add(Criterion criterion) 方法來(lái)添加查詢(xún)條件。圖 2 Criterion 的結構圖。 Criterion 接口的主要實(shí)現包括: Example 、 Junction SimpleExpression 。而 Junction 的實(shí)際使用是它的兩個(gè)子類(lèi) conjunction disjunction ,分別是使用 AND OR 操作符進(jìn)行來(lái)聯(lián)結查詢(xún)條件集合。

Criterion 的實(shí)例可以通過(guò) Restrictions 工具類(lèi)來(lái)創(chuàng )建, Restrictions 提供了大量的靜態(tài)方法,如 eq (等于)、 ge (大于等于)、 between 等來(lái)方法的創(chuàng )建 Criterion 查詢(xún)條件

SimpleExpression 實(shí)例)。除此之外, Restrictions 還提供了方法來(lái)創(chuàng )建 conjunction disjunction 實(shí)例,通過(guò)往該實(shí)例的 add(Criteria) 方法來(lái)增加查詢(xún)條件形成一個(gè)查詢(xún)條件集合。

至于 Example 的創(chuàng )建有所不同, Example 本身提供了一個(gè)靜態(tài)方法 create(Object entity) ,即根據一個(gè)對象(實(shí)際使用中一般是映射到數據庫的對象)來(lái)創(chuàng )建。然后可以設置一些過(guò)濾條件:

Example exampleUser =Example.create(u)

.ignoreCase() // 忽略大小寫(xiě)

.enableLike(MatchMode.ANYWHERE);

// String 類(lèi)型的屬性,無(wú)論在那里值在那里都匹配。相當于 %value%


2

      

Project 主要是讓 Criteria 能夠進(jìn)行報表查詢(xún),并可以實(shí)現分組。 Project 主要有 SimpleProjection 、 ProjectionList Property 三個(gè)實(shí)現。其中 SimpleProjection ProjectionList 的實(shí)例化是由內建的 Projections 來(lái)完成,如提供的 avg 、 count 、 max 、 min 、 sum 可以讓開(kāi)發(fā)者很容易對某個(gè)字段進(jìn)行統計查詢(xún)。

       Property 是對某個(gè)字段進(jìn)行查詢(xún)條件的設置,如通過(guò)

      Porperty.forName(“color”).in(new String[]{“black”,”red”,”write”}); 則可以創(chuàng )建一個(gè) Project 實(shí)例。通過(guò) criteria add(Project) 方法加入到查詢(xún)條件中去。


3

      

       使用 Criteria 進(jìn)行查詢(xún),主要要清晰的是 Hibernate 提供了那些類(lèi)和方法來(lái)滿(mǎn)足開(kāi)發(fā)中查詢(xún)條件的創(chuàng )建和組裝,其結構層次如何。這樣使用起來(lái)便可得心應手。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
DetachedCriteria類(lèi)詳解——hibernate
Hibernate---Criteria 查詢(xún)
Hibernate Criteria 查詢(xún)---按照實(shí)例對象查詢(xún)
DetachedCriteria criteria 返回符合條件的記錄數
[轉] Hibernate3的DetachedCriteria支持 - 影尋 - 網(wǎng)易博客
hibernate中重復顯示問(wèn)題的解決方法
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久