在一張桌子上,我有:
| 樣的 | 代碼名稱 |
|---|---|
| 1 | 1 |
| 2 | 空值 |
| 3 | 2 |
| 4 | 3 |
代號是第二個表上的外鍵:
| 樣的 | 姓名 |
|---|---|
| 1 | 香蕉 |
| 2 | 蘋果 |
| 3 | 橘子 |
我的 HQL 是:
FROM table1 o ORDER BY o.code_name.name
但由于某種原因,我在進行排序時得到的結果是沒有空行的排序表。
| 樣的 | 代碼名稱 | 姓名 |
|---|---|---|
| 3 | 2 | 蘋果 |
| 1 | 1 | 香蕉 |
| 4 | 3 | 橘子 |
uj5u.com熱心網友回復:
當你把ORDER BY o.code_name.name它意味著你必須加入另一個表。似乎 Hibernate 將其轉換HQL為INNER JOIN普通的SQL.
您必須LEFT JOIN手動放置。
SELECT t1 FROM table1 t1
LEFT JOIN t1.code_name t2
ORDER BY t2.name
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/435814.html
標籤:休眠
