1. 程式人生 > >hql解析、hibernate分頁

hql解析、hibernate分頁

1、 什麼是hql HQL(Hibernate Query Language)是hibernate專門用於查詢資料的語句, 有別於SQL,HQL 更接近於面向物件的思維方式。 2 、hql和sql區別/異同

hql sql
類名/屬性 表名/列名
區分大小寫,關鍵字不區分大小寫 不區分大小寫
?,從下標0開始計算位置(hibernate5之後不支援) ?,從順序1開始計算位置
:命名引數 不支援:命名引數
面向物件的查詢語言 面向結構查詢語言

注意:QuerySyntaxException:book is not mapped

3、hibernate結果集的處理五種情況

  1. Ojbect —>查全表字段
  2. Map —>new Map 調函式
  3. Ojbect[] —>某幾個列欄位
  4. String —>(基本資料型別)
  5. 構造方法 —>查幾列

4. hql中使用佔位符

  1. ?佔位符 從下標0開始計算位置 hibernate5之後不再支援?佔位符

  2. :命名引數

5、hibernate分頁(用到聚合函式)

  1. 聚合函式 sum avg max min count
  2. hql分頁 int page = 2;// 頁碼:page int row = 10;// 每頁行數:rows query.setFirstResult((page - 1) * row);// 設定起始記錄下標 query.setMaxResults(row);// 設定返回的最大結果集