如何在 Spring Data JPA 排序中定义空处理?

Posted

技术标签:

【中文标题】如何在 Spring Data JPA 排序中定义空处理?【英文标题】:How to define null-handling in Spring Data JPA sorts? 【发布时间】:2015-06-06 17:11:06 【问题描述】:

我需要我的数据按 null 排序,而不仅仅是 null。如下:

Column A
null 
null 
null
8 
10
5

意味着一旦所有空值都在顶部,其余的值根本不应该排序并按原样出现。 知道如何使用 jpa 查询/本机查询来完成此操作。

【问题讨论】:

【参考方案1】:

如果你的项目使用 Spring Boot,你可以像这样添加 YML 配置,它对我有用。

spring:
  jpa:
    properties:
        hibernate.order_by.default_null_ordering: last

【讨论】:

【参考方案2】:

使用 JPQL,你会很开心。

SELET f FROM Foo f ORDER BY f.name NULLS LAST

【讨论】:

以上是关于如何在 Spring Data JPA 排序中定义空处理?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spring Data (JPA) 派生查询中按多个属性排序?

Spring Data 系列学习Spring Data JPA 自定义查询,分页,排序,条件查询

使用Spring Data JPA进行数据分页与排序

Spring Data JPA - JpaRepository 中的自定义排序

Spring Data Jpa 使用@Query标注自定义查询语句

Spring Data Jpa 使用@Query标注自定义查询语句