持久化/Spring Boot 查找页面和条件组合

问题描述

这更像是一个我不知道该用什么谷歌搜索的问题,而不是一个真正的我不知道我想要什么问题;

我有以下实体

@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);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...