gpt4 book ai didi

hibernate - 按(链接)列排序,该列可以为空

转载 作者:行者123 更新时间:2023-12-03 06:57:03 24 4
gpt4 key购买 nike

我目前在使用 Hibernate 时遇到问题,我自动创建了一个 HQL 语句,如下所示

FROM table ORDER BY a.b ASC NULLS LAST

我的目的是按 a.b 对所有条目进行排序,并设置 abNULL 的所有条目到表的末尾。 Hibernate 不会提示该语句,而只是忽略 a 已为 NULL 的所有条目。我尝试了设置:

FROM table ORDER BY NULLIF(a.b, NULL) ASC NULLS LAST

同样,Hibernate 不会提示,但会再次忽略 aNULL 的所有条目。

感谢您的帮助!

最佳答案

我猜 a 是 table_two 类型的属性,并且该属性是用多对一关系或其他关系定义的。类似。

您对一个列进行排序,该列不是表的成员,而是相关 table_two 的成员。 Sql 无法直接执行此操作,Hibernate 通过在 table 和 table_two 之间生成联接来执行此操作。 Hibernate 生成的连接是普通连接,而不是外连接,因此 select 不会获取 table_two 中没有相关条目的行。

您可以通过手动定义外连接来解决该问题。像这样的东西应该有效:

FROM table t
LEFT OUTER JOIN t.a u
ORDER BY u.b ASC NULLS LAST

关于hibernate - 按(链接)列排序,该列可以为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12517029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com