HQL 正在过滤掉空字段
HQL is filtering out fields with null
在一个 table 我有:
oid
code_name
1
1
2
NULL
3
2
4
3
代号是第二个外键table:
oid
name
1
BANANA
2
APPLE
3
ORANGE
我的 HQL 是:
FROM table1 o ORDER BY o.code_name.name
但出于某种原因,我在排序时得到的结果是 table 没有空行。
oid
code_name
name
3
2
APPLE
1
1
BANANA
4
3
ORANGE
当你输入ORDER BY o.code_name.name
时,意味着你必须加入另一个table。似乎 Hibernate 将此 HQL
转换为普通的 INNER JOIN
SQL
.
您必须手动输入 LEFT JOIN
。
SELECT t1 FROM table1 t1
LEFT JOIN t1.code_name t2
ORDER BY t2.name
在一个 table 我有:
oid | code_name |
---|---|
1 | 1 |
2 | NULL |
3 | 2 |
4 | 3 |
代号是第二个外键table:
oid | name |
---|---|
1 | BANANA |
2 | APPLE |
3 | ORANGE |
我的 HQL 是:
FROM table1 o ORDER BY o.code_name.name
但出于某种原因,我在排序时得到的结果是 table 没有空行。
oid | code_name | name |
---|---|---|
3 | 2 | APPLE |
1 | 1 | BANANA |
4 | 3 | ORANGE |
当你输入ORDER BY o.code_name.name
时,意味着你必须加入另一个table。似乎 Hibernate 将此 HQL
转换为普通的 INNER JOIN
SQL
.
您必须手动输入 LEFT JOIN
。
SELECT t1 FROM table1 t1
LEFT JOIN t1.code_name t2
ORDER BY t2.name