AI Academy
促銷
CodeGym University
學習
課程
任務
問卷 & 測驗
遊戲
說明
行程
社群
用戶
論壇
聊天
文章
成功故事
動態
評價
訂閱
淺色主題
課程
評論
關於我們
開始
開始學習
立即開始學習
My Progress
Courses
任務地圖
課程
Java
SQL & Hibernate
等級 10
學習用 HQL 編寫查詢
SQL & Hibernate
等級 10,
課程 0
1.1 HQL介紹 之前,您已經熟悉了 Hibernate,現在我將向您介紹HQL,又名Hibernate Query Language。實際上,這是為在 Hibernate 中編寫查詢而轉換的 SQL。它有幾個關鍵的區別。 使用類名而不是表名。 使用類字段名而不是表列名。 選擇的可選使用。 讓我們讓 Hibernate 返回給我們它在數據庫中的所有用戶。該請求如下所示: from User 僅此而已,為了比較,我們在 SQL 中提供了一個類似的查詢: select * fr
探索查詢類
SQL & Hibernate
等級 10,
課程 1
2.1 Query類介紹 順便說一句,另一個重要的點是Query helper 類。你可以在這個例子中看到它: public List getAllEmployes() {
加入HQL
SQL & Hibernate
等級 10,
課程 2
3.1 映射依賴實體 在 SQL 中,您可以使用 JOIN 編寫查詢。可以在 HQL 中做同樣的事情嗎?簡短的回答是肯定的。但完整的答案會更有趣。 首先,當我們在 SQL 中編寫 JOIN 時,通常意味著一個表引用另一個表。例如,task 表包含一個 employee_id 列,該列引用 employee 表的 id 列。 這種依賴性可以在 Hibernate 中使用註解來描述。首先,讓我們為表創建實體。首先,讓我們描述一下員工表: @Entity
帶參數的請求
SQL & Hibernate
等級 10,
課程 3
4.1 查詢參數 Hibernate 允許您將參數傳遞給查詢。因此,所有與查詢和數據庫的工作都大大簡化了。 很難找到不可變的查詢。起初,您似乎只需要從數據庫中返回一個商品列表即可。然後事實證明,您需要在特定日期為特定用戶提供最新的產品列表。按必填字段排序,但不是整個列表,而是特定頁面:例如,從 21 到 30 的產品。 而這正是參數化查詢解決的問題。你用 HQL 寫一個查詢,然後你用“特殊名稱”——參數來替換可以改變的值。然後分別在執行請求的時候,可以傳遞這些參數的值。 讓我
請求長度限制
SQL & Hibernate
等級 10,
課程 4
使用頁面:LIMIT 和 OFFSET 很多時候,數據庫中的數據是在“頁面”中檢索的。因為這就是處理大型列表的方便之處。我們首先查詢 1 到 20 行,然後是 21 到 40 行,依此類推。 這種情況很常見,SQL 對此 LIMIT 和 OFFSET 有特殊的運算符。 這些運算符的類似物也存在於 Hibernate 中。只有他們立即決定以單獨方法的形式製作它們: setFirstResult()類似於OFFSET。 setMaxResults()類似於LIMIT。 使用這些方
其他類型的請求
SQL & Hibernate
等級 10,
課程 5
6.1 命名查詢 Hibernate 允許您不直接在代碼中存儲查詢。相反,他建議給查詢名稱並將它們作為註釋單獨存儲。好吧,那就直接通過它的名字來接受想要的請求吧。例子: @org.hibernate.annotations.NamedQueries({
Please enable JavaScript to continue using this application.