JPA findAll(规范,排序)

标签 jpa spring-data

我有这个代码来获取两个日期之间的所有交易。我想得到一个 desc 排序的列表。有哪些可能性?

@Override
public List<Transaction> searchBySubmitDate(final Date startDate, 
                                            final Date endDate) {
    return transactionRepository.findAll(new Specification<Transaction>() {
        @Override
        public Predicate toPredicate(Root<Transaction> transaction, 
                                     CriteriaQuery<?> q, CriteriaBuilder cb) {
            Predicate between = cb.between(transaction.get(Transaction_.dateSubmit), startDate, endDate);

            return between;
        }
    });

最佳答案

@Override
    public List<Transaction> searchBySubmitDate(final Date startDate, 
                                                final Date endDate) {
        return transactionRepository.findAll(new Specification<Transaction>() {
            @Override
            public Predicate toPredicate(Root<Transaction> transaction, 
                                         CriteriaQuery<?> q, CriteriaBuilder cb) {
                Predicate between = cb.between(transaction.get(Transaction_.dateSubmit), startDate, endDate);

                return between;
            }
        },new Sort(Direction.DESC,"dateSubmit"));

关于JPA findAll(规范,排序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8637571/

相关文章:

java - 更新时拥有实体实例不再引用具有级联 ="all-delete-orphan"的集合

JPA 2.0 Eclipselink OrderColumn 支持

java - 避免在 Eclipselink 中实例化 IndirectList

maven - 使用 Spring Boot 和嵌入式驱动程序测试 Neo4j

java - 运行嵌入式服务器时 OrientDb 端口范围的用途是什么?

spring-data - 如何在 Spring Data LDAP 存储库中获取用户的完整 DN

java - 如何修复 "You have an error in your SQL syntax"JPA持久性

JPA 到 JAXB 问题

Spring Data JPA 不适用于事务隔离 "READ_UNCOMMITTED"

java - spring data hibernate 延迟加载