gpt4 book ai didi

hibernate - 使用createCriteria在排序后的列表的末尾排列Null

转载 作者:行者123 更新时间:2023-12-02 15:06:13 31 4
gpt4 key购买 nike

我在排序具有空值的列表时遇到了问题!

我需要的是订购时空值会出现在列表的最后!好像现在订购时,Nulls在我的列表中排名第一!

由于休眠版本为3.6.x,因此我无法使用NullPrecedence

我的代码示例!

SomeClass.createCriteria().list {
eq('sth', sth)
if (sort == 'someValue') {
createAlias("nestedClass1", "nc1", CriteriaSpecification.LEFT_JOIN)
createAlias("nc1.nestedClass2", "nc2", CriteriaSpecification.LEFT_JOIN)
createAlias("nc2.nestedClass3", "nc3", CriteriaSpecification.LEFT_JOIN)
order("nc3.name", sortOrder)
}
}

最佳答案

您可以在域类中添加新字段,并映射到检查其是否为null的公式,然后按以下额外字段进行排序:

class SomeClass {
String name
boolean nameNotNull

static mapping = {
nameNotNull formula: 'name is not null'
}
}



SomeClass.createCriteria().list() {
order ('nameNotNull', 'desc')
order ('name', 'asc')
}

关于hibernate - 使用createCriteria在排序后的列表的末尾排列Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28691741/

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