Hibernate查询方式
Hibernate查詢方式
1 OID查詢
(1)根據(jù)id查詢某一條記錄,返回對象
2 對象導(dǎo)航查詢
(1)根據(jù)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語句實現(xiàn)查詢
1 hql:hibernate query language,hibernate提供一種查詢語言,hql語言和普通sql很相似,區(qū)別:普通sql操作數(shù)據(jù)庫表和字段,hql操作實體類和屬性
?
(2) 常用的hql語句
a、查詢所有: from 實體類名稱
b、條件查詢: from 實體類名稱 where 屬性名稱=?
c、排序查詢: from 實體類名稱 order by 實體類屬性名稱 asc/desc(倒序排列)
(3)使用hql查詢操作時候,使用Query對象
a、創(chuàng)建Query對象,寫hql語句
b、調(diào)用query對象里面的方法得到結(jié)果
例:查詢所有
1 查詢所有客戶記錄
(1)創(chuàng)建Query對象,寫hql語句
(2)調(diào)用query對象里面的list方法得到結(jié)果
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 具體實現(xiàn)
Query query=session.createQuery("select cname from Company "); List<String> list=query.list();?
2 查詢所有: from 實體類名稱
4 QBC查詢
(1)Criteria對象
5 本地sql查詢
(1)SQLQuery對象,使用普通sql實現(xiàn)查詢
轉(zhuǎn)載于:https://www.cnblogs.com/ncl-960301-success/p/7542455.html
總結(jié)
以上是生活随笔為你收集整理的Hibernate查询方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: halcon append_ocr_tr
 - 下一篇: 05 Java 求职简历制作