首页 > 解决方案 > 如何在 Spring Data Jpa 中对对象为 null 的元素进行排序

问题描述

我在下面有两个实体:

@Entity
public class Task {
...
@ManyToOne
private User user;
...
}

@Entity
public class User {
private String firstName;
private String lastName;
@OneToMany(mappedBy = "task")
private Set<Task> task;
...
}

如何使用 Sort to Sort Task by firstName of User with User is null on top ?

我试过Sort.by(Sort.Order.asc("user.firstName").nullsFirst()); 但我得到了错误:NullpointerException

标签: javaspringsortingspring-data-jpasql-order-by

解决方案


你可以创建这样的东西。

Criteria criteria = ...;
criteria.addOrder( Order.asc( "firstName" ).nulls(NullPrecedence.FIRST) );

有关更多信息,您可以查看此文档。

空优先级


推荐阅读