java - 如何使用spring data jpa Sort.Order.nullslast

标签 java spring-data spring-data-jpa

我使用 nullslast() 作为示例代码,如下所示,

        List<Sort.Order> orders = new ArrayList<>();

        Sort.Order orderAuditTime = new Sort.Order(Sort.Direction.DESC,"auditTime");
        Sort.Order orderEntryTime = new Sort.Order(Sort.Direction.DESC,"customer.entryTime");

        orders.add(orderAuditTime.nullsLast());
        orders.add(orderEntryTime);

        sort = new Sort(orders);

但是最后得到了没有空值的sql:

order by
    auditrecor0_.audit_time desc,
    customer1_.entry_time desc limit ?

有人可以帮助我为什么 orderAuditTime.nullsLast() 不起作用吗?

数据库是postgre,orm框架是hibernate。

最佳答案

据我所知,Sort.Order 的实例被转换为 javax.persistence.criteria.Order。该接口(interface)不支持 nulls first/last:

package javax.persistence.criteria;

public interface Order {
    Order reverse();
    boolean isAscending();
    Expression<?> getExpression();
}

因此,Sort.Order 上指定的第一个/最后一个空值将被忽略。

关于java - 如何使用spring data jpa Sort.Order.nullslast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36881217/

相关文章:

java - 以原子方式获取 ConcurrentHashMultiset 中的 Multiset 条目( Guava )

spring - 使用 spring data mongo 更新插入 Mongo 文档

spring-data - Redis Spring data with Lettuce : com. lambdaworks.redis.RedisCommandExecutionException: MOVED 错误

java - Spring Data JPA,当我尝试选择DistinctValue时出错

java - 从字符串中获取第一个具有随机数字的值

java - 如何在 Lucene 4.2.1 中实现基本的分析器?

java - 向 JButton 添加 Icon 而不改变其大小

java - 使用 spring data mongodb 存储库添加可选查询参数

mysql - 通过 JPA 存储库中的 native 查询然后通过 sql 查询获取不同的顺序

hibernate - 如何查询复合主键的子集?