问题描述
这更像是一个我不知道该用什么谷歌搜索的问题,而不是一个真正的我不知道我想要什么问题;
我有以下实体
@Entity
public class ExampleEntity{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String name;
private Date dueDate;
...
getter + setter
...
}
我想使用伪代码中显示的以下策略从存储库中获取此实体的 Pageable:
排序方式:
if(dueDate
然后其他一切按名称排序
这是否可以只用一个请求?
解决方法
您可以通过在 spring 框架存储库中执行查询来仅通过一个请求获取值,如下所示。为此,我使用 CRUDRepository:
public interface ExampleEntityRepository extends CrudRepository<ExampleEntityRepository,Integer> {
public List<ExampleEntityRepository> findByDueDateLessThanOrderByNameAsc(Date dueDate);
}
您需要使用以下代码行调用该方法:
Calendar current = Calendar.getInstance();
current.add(Calendar.DAY_OF_MONTH,7);
exampleRepository.findByDueDateLessThanOrderByNameAsc(current.getTime())
.forEach(System.out::println);