gpt4 book ai didi

hibernate - Grails/hibernate : how to order by isnull(property) to get NULLs last?

转载 作者:行者123 更新时间:2023-12-04 14:18:40 24 4
gpt4 key购买 nike

通常,当按字段升序排序时,您首先获得 NULL 值,然后是更有趣的值。通常,您希望最后使用 NULL 值。在 MySQL 中,你可以这样做:
SELECT * FROM people ORDER BY ISNULL(name), name;
但是,我将 Grails 与 Hibernate 标准一起使用,我完全不知道如何在那里执行此操作。这甚至以任何方式支持吗?有什么方法可以按自定义 SQL 表达式排序吗?我不想将我的所有标准重写为纯 SQL,只是为了让它正确排序。

最佳答案

如果您想订购和 HibernateCriteriaBuilder 中设置 NullPrecedence戈姆 AbstractHibernateCriteriaBuilder 为您提供方法 order()你可以设置一个 org.hibernate.criterion.Order 像普通的 hibernate

例子

     People.createCriteria().list (){
order(org.hibernate.criterion.Order.asc('name')
. nulls(org.hibernate.NullPrecedence.LAST)
)
}

关于hibernate - Grails/hibernate : how to order by isnull(property) to get NULLs last?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5787855/

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