Hibernate查詢方式,

來源:互聯網
上載者:User

Hibernate查詢方式,
Hibernate查詢方式

1 OID查詢

(1)根據id查詢某一條記錄,返回對象

2 對象導航查詢

(1)根據id查詢某個公司,再查詢這個公司裡面所有的員工

 

Company c=session.get(Company.class, 1);        Set<Worker> set=    c.getWorkers();        for (Worker worker : set) {            System.out.println(worker.getWname()+" "+worker.getWid());        }

 

3 HQL查詢

(1)Query對象,寫hql語句實現查詢

1 hql:hibernate query language,hibernate提供一種查詢語言,hql語言和普通sql很相似,區別:普通sql操作資料庫表和欄位,hql操作實體類和屬性

 

(2) 常用的hql語句

a、查詢所有: from 實體類名稱

b、條件查詢: from 實體類名稱 where 屬性名稱=?

c、排序查詢: from 實體類名稱 order by 實體類屬性名稱 asc/desc(倒序排列)

(3)使用hql查詢操作時候,使用Query對象

a、建立Query對象,寫hql語句

b、調用query對象裡面的方法得到結果

例:查詢所有

  

  1 查詢所有客戶記錄

  (1)建立Query對象,寫hql語句

  (2)調用query對象裡面的list方法得到結果

Query query=session.createQuery("from Company");            List<Company> list=query.list();

  條件查詢

  

hql條件查詢語句寫法:

1  from  實體類名稱 where 實體類屬性名稱=? and實體類屬性名稱=?

2  from  實體類名稱 where 實體類屬性名稱 like ?

   3  from  實體類名稱 where 實體類屬性名稱 like  ‘%百’ 是單引號

1 明確條件查詢

Query query=session.createQuery("from Company where cid=?and cname=?");      query.setParameter(0, 1);      query.setParameter(1,"百度");      List<Company> list=query.list();

 

 

2  模糊條件查詢

Query query=session.createQuery("from Company where cname like ?");query.setParameter(0, "百%");   List<Company> list=query.list();

  排序查詢

  1 hql排序語句寫法

  (1)from 實體類名稱 order by 實體類屬性名稱 asc/desc(desc為倒敘)

Query query=session.createQuery("from Company order by cid desc");  List<Company> list=query.list(); 

  投影查詢

  

1 投影查詢:查詢表中部分欄位的值

 

2 投影查詢hql語句寫法:

(1)select 實體類屬性名稱1, 實體類屬性名稱2  from 實體類名稱

(2)注意:  select 後面不能寫 * ,不支援的

 

3 具體實現

Query query=session.createQuery("select cname from Company ");         List<String> list=query.list();

 

2 查詢所有: from 實體類名稱

4 QBC查詢

(1)Criteria對象

5 本地sql查詢

(1)SQLQuery對象,使用普通sql實現查詢

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.