【问题标题】:Spring Boot @Query: Order by named parameterSpring Boot @Query:按命名参数排序
【发布时间】:2019-06-14 13:40:47
【问题描述】:

我喜欢我的 REST-Api 端点可以按不同的模型属性排序。我搜索了很多solutions,但没有一个符合我的要求。

我喜欢在我的PagingAndSortingRepository 界面中拥有如下内容:

    @Query(value = "SELECT v FROM vwFact v WHERE v.applicationId like %:applicationId% " +
            "and (v.mdName01 like :mdName% or v.mdName02 like :mdName% or v.mdName03 like :mdName% or v.mdName04 like :mdName%) " +
            "ORDER BY :sortParam :sortDir"
    )
    Page<vwFact> findAllByApplicationIdAndMdName(
            @Param(value = "applicationId") String applicationId,
            @Param(value = "mdName") String mdName,
            @Param(value = "sortParam") String sortParam,
            @Param(value = "sortDir") String sortDir,
            Pageable pageable
    );

是否有机会实现这一点,或者我必须以其他方式执行此操作。你有什么建议?

【问题讨论】:

    标签: java spring spring-boot jpql


    【解决方案1】:

    Pageable 有一个选项来指定如何对结果进行排序(方向和参数)。

    PageRequest(int page, int size, Sort sort) 
    PageRequest(int page, int size, Sort.Direction direction, String... properties) 
    

    【讨论】:

      猜你喜欢
      • 2021-01-12
      • 1970-01-01
      • 1970-01-01
      • 2019-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-08
      • 2015-10-17
      相关资源
      最近更新 更多