开发者社区> 问答> 正文

Spring Data JPA 排序问题?报错

public interface ArticleRepository extends JpaRepository<Article, Integer> {

Page<Article> findAllOrderByPublishTimeDesc(Pageable pageable);

Page<Article> findByAuthorOrderByPublishTimeDesc(int author, Pageable pageable);

Page<Article> findByIdInOrderByPublishTimeDesc(List<Integer> articleIds, Pageable pageable);

}



第一个方法生成时候报错:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'articleService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.yaolifei.kxxz.repository.ArticleRepository com.yaolifei.kxxz.service.impl.ArticleServiceImpl.articleRepository; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'articleRepository': FactoryBean threw exception on object creation; nested exception is org.springframework.data.mapping.PropertyReferenceException: No property desc found for type java.util.Date

就是说findAll想加排序怎么个写法。我知道可以这样写:
findAll(Pageable pageable, Sort sort);



但是我想知道如果不是传递Sort参数还是想用方法名的表示怎么写?





展开
收起
爱吃鱼的程序员 2020-06-20 16:37:57 618 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    Sorts=newSort(Direction.DESC,"PublishTime");
    Pageablep=newPageRequest(1,10,s);

    Page<Article>findAll(p)


    springdata中PageRequest第一页应该是从0开始的,不是从1开始的,提醒后来的人,要不然测试数据多,看不出结果


    http://docs.spring.io/spring-data/jpa/docs/1.6.1.RELEASE/reference/html/jpa.repositories.html#jpa.query-methods

    Table 2.3. Supportedkeywordsinsidemethodnames

    好吧把方法名写成findAllByOrderByPublishTimeDesc看下。



    2020-06-20 16:38:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多