hql解析、hibernate分頁
阿新 • • 發佈:2018-12-18
1、 什麼是hql HQL(Hibernate Query Language)是hibernate專門用於查詢資料的語句, 有別於SQL,HQL 更接近於面向物件的思維方式。 2 、hql和sql區別/異同
hql | sql |
---|---|
類名/屬性 | 表名/列名 |
區分大小寫,關鍵字不區分大小寫 | 不區分大小寫 |
?,從下標0開始計算位置(hibernate5之後不支援) | ?,從順序1開始計算位置 |
:命名引數 | 不支援:命名引數 |
面向物件的查詢語言 | 面向結構查詢語言 |
注意:QuerySyntaxException:book is not mapped
3、hibernate結果集的處理五種情況
- Ojbect —>查全表字段
- Map —>new Map 調函式
- Ojbect[] —>某幾個列欄位
- String —>(基本資料型別)
- 構造方法 —>查幾列
4. hql中使用佔位符
-
?佔位符 從下標0開始計算位置 hibernate5之後不再支援?佔位符
-
:命名引數
5、hibernate分頁(用到聚合函式)
- 聚合函式 sum avg max min count
- hql分頁 int page = 2;// 頁碼:page int row = 10;// 每頁行數:rows query.setFirstResult((page - 1) * row);// 設定起始記錄下標 query.setMaxResults(row);// 設定返回的最大結果集