條件類criteria用法_第1頁
已閱讀1頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、復(fù)合查詢主要是處理,具有關(guān)聯(lián)關(guān)系的兩個(gè)實(shí)體怎樣進(jìn)行關(guān)聯(lián)查詢,比如User實(shí)體對象與Addres實(shí)體對象具有一對多的關(guān)聯(lián)關(guān)系,我們可以如下構(gòu)造符合查詢:Criteriacriteria=session.createCriteria(User.class)Criteriaaddcriteria=criteria.createCriteria(“addresses”)(1)addcriteria.add(Express.like(“addre

2、ss””%tianjin%”))Listlist=criteria.list()f(inti=0iUseruser=(User)list.get(i)System.out.println(user.getName()”n”)Setaddresses=user.getAddresses()Iteratit=addresses.iterat()while(it.hasNext()Addressaddress=(Address)it.next

3、()System.out.println(address.getAddress()”n”)當(dāng)執(zhí)行到了(1)處時(shí),表明要針對User對象的addresses屬性添加新的查詢條件,因此當(dāng)執(zhí)行criteria.list()時(shí),Hibernate會生成類似如下的SQL語句:fromuserinnerjoinaddressonuser.id=address.idwhereaddress.addresslike‘%shanghai%’正如我們所見,

4、我們可以通過向Criteria中添加保存關(guān)聯(lián)對象的集合屬性(addresses屬性保存與User對象相關(guān)聯(lián)的Address對象),來構(gòu)造復(fù)合查詢,在數(shù)據(jù)庫一端是通過內(nèi)連接查詢來實(shí)現(xiàn)。HibernateQBC查詢查詢QBC查詢:ropertyExpression.geProperty用于比較兩個(gè)屬性值,對應(yīng)用于比較兩個(gè)屬性值,對應(yīng)”field=field”SQL表達(dá)式表達(dá)式Expression.ltProperty用于比較兩個(gè)屬性值,對應(yīng)

5、用于比較兩個(gè)屬性值,對應(yīng)”field表達(dá)式表達(dá)式Expression.leProperty用于比較兩個(gè)屬性值,對應(yīng)用于比較兩個(gè)屬性值,對應(yīng)”field=field”SQL表達(dá)式表達(dá)式Expression.對應(yīng)對應(yīng)SQL語句的語句的關(guān)系組合,如:關(guān)系組合,如:Expression.(Expression.eq(“name””zx”)Expression.eq(“sex””1”))Expression.對應(yīng)對應(yīng)SQL語句的語句的關(guān)系組合,如

6、:關(guān)系組合,如:Expression.(Expression.eq(“name””zx”)Expression.eq(“name””zhaoxin”))Expression.sql作為補(bǔ)充這個(gè)方法提供了原生作為補(bǔ)充這個(gè)方法提供了原生SQL語句查詢的支持,在執(zhí)語句查詢的支持,在執(zhí)行時(shí)直接通過原生行時(shí)直接通過原生SQL語句進(jìn)行限定,如:語句進(jìn)行限定,如:Expression.sql(“l(fā)ower(alias.name)like()”“zha

7、o%”Hibernate.STRING)在運(yùn)行時(shí)在運(yùn)行時(shí)alias將會將會由當(dāng)前查詢所關(guān)聯(lián)的實(shí)體類名替換,由當(dāng)前查詢所關(guān)聯(lián)的實(shí)體類名替換,()中的中的將會將會由”zhao%”替換,并且類型由替換,并且類型由Hibernate.STRING指定。指定。注意:Expression各方法中的屬性參數(shù)(各方法中的第一個(gè)參數(shù))所指定的屬性名稱(如:namesex),并不是數(shù)據(jù)庫表中的實(shí)際字段名稱,而是實(shí)體對象中映射實(shí)際數(shù)據(jù)表字段的類屬性名稱。2、

8、示例查詢:示例查詢是通過Example類來完成的,Example類實(shí)現(xiàn)了Criterion接口,可以用作Criteria查詢條件,Example類的作用是:根據(jù)已有對象,查詢屬性值與之相同的其他對象。如下代碼所示:Criteriacriteria=session.createCriteria(User.class)Userexampleuser=newUser(“zx”)criteria.add(Example.create(examp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論