Hibernate筆記(三)

小編:管理員 393閱讀 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
4.QBC查詢

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對象
6.Hibernate的查詢策略1.立即查詢

get方法就是立即查詢,方法執行立即發送語句 get(entity.Class,id)

2.延時查詢

load方法是延時查詢,方法調用不會立即發送語句,只有當我們獲取返回的對象中的非id字段的值得時候才會發語句。

1.類級別的延遲

例如根據id的查詢,最后查的是一個類的某個對象

2.關聯級別的延遲

當表之間是有關系的,然后我們進行延遲查詢

關聯標簽:
亚洲国产欧美图片,亚洲aⅴ在线av,日韩亚洲综合图片视频,日本av精品在线中文