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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、復合查詢主要是處理,具有關聯(lián)關系的兩個實體怎樣進行關聯(lián)查詢,比如User實體對象與Addres實體對象具有一對多的關聯(lián)關系,我們可以如下構造符合查詢: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”)當執(zhí)行到了(1)處時,表明要針對User對象的addresses屬性添加新的查詢條件,因此當執(zhí)行criteria.list()時,Hibernate會生成類似如下的SQL語句:fromuserinnerjoinaddressonuser.id=address.idwhereaddress.addresslike‘%shanghai%’正如我們所見,

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

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

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

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

8、示例查詢:示例查詢是通過Example類來完成的,Example類實現(xiàn)了Criterion接口,可以用作Criteria查詢條件,Example類的作用是:根據已有對象,查詢屬性值與之相同的其他對象。如下代碼所示: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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論