Hibernate筆記(三)
小編:管理員 343閱讀 2022.09.14
1.對象導航查詢
兩個相關的對象
2.OID查詢用id查出對象
3.hql查詢Query對象
1.hql- 查詢所有 from entity
- 條件查詢 from entity where name=? setParameter(index,arg) 設置參數值
- 模糊查詢 from entity where name like ?;
- 排序 from entity order by name desc
- 分頁 setFirstResult()開始位置 setMaxResults()每頁數
- 投影 select property from entity property不能是*
-
聚集函數
- count select count(* ) from entity query.uniqueResult()
- 其他的類似
-
多表查詢
- 內連接 form entity inner join entity.set 最后返回的是數組
- 迫切內連接 form entity inner join fetch entity.set 最后返回的是list
- 外連接 form entity left outer join entity.set 最后返回的是數組
- 迫切左外連接 form entity left outer join fetch entity.set 最后返回的是list
Criteria對象 createCriteria(entity.class)
- 查詢所有 list()
- 條件查詢 add(Restrictions.eq/like/(“property”,”value”)) -> list()
- 排序 addOrder(Order.asc(“property”))
- 分頁 setFirstResult()開始位置 setMaxResults()每頁數
- 統計查詢 setProjection(Projetions.rowCount(10));
- 離線查詢 DetachCriteria deCriteria=DetachCriteria.forClass(entity.class)Criteria criteria=deCriteria.getExectueableCriteria(); 與session無關 5.本地sql查詢 SQLQuery對象
get方法就是立即查詢,方法執行立即發送語句 get(entity.Class,id)
2.延時查詢load方法是延時查詢,方法調用不會立即發送語句,只有當我們獲取返回的對象中的非id字段的值得時候才會發語句。
1.類級別的延遲例如根據id的查詢,最后查的是一個類的某個對象
2.關聯級別的延遲當表之間是有關系的,然后我們進行延遲查詢
相關推薦
- 經典筆試題-JDBC及Hibernate篇 五、JDBC 及Hibernate:(共12 題:基礎10 道,中等難度2 道)110、數據庫,比如100 用戶同時來訪,要采取什么技術解決?【基礎】 答:可采用連接池。111、什么是ORM?【基礎】 答:對象關系映射(Object—Relational Mapping,簡稱ORM)是一種為了解決面向對象…
- Hibernate Criterion 在查詢方法設計上能夠靈活的依據Criteria的特點來方便地進行查詢條件的組裝.Hibernate設計了CriteriaSpecification作為Criteria的父接口,以下提供了Criteria和DetachedCriteria.Criteria和DetachedCriteria的主要差別在于創建的形式不一樣,Criteria是在線的,所…