【问题标题】:Spring And Kotlin QuerySpring 和 Kotlin 查询
【发布时间】:2021-05-27 13:32:54
【问题描述】:

我怎样才能实现这个查询

select *
from table t
where name like '%Ami%'
order by (name = 'Ami') desc, length(col);

(只是排序部分)

使用springframework排序..

我尝试的是

Sort.by(Sort.Direction.DESC, "name") // But I need to sort by name = 'Ami'
Sort.by(Sort.Direction.DESC, "name" = 'Ami'") // throws an error 
JpaSort.unsafe(Sort.Direction.DESC, "name" = 'Ami'") // throws an error 

【问题讨论】:

    标签: spring-boot kotlin spring-data-jpa spring-data


    【解决方案1】:

    看起来文档中有一个与您的问题几乎相同的示例:

    https://docs.spring.io/spring-data/jpa/docs/2.4.5/reference/html/#jpa.query-methods.sorting

    但是,将 Sort 与 @Query 一起使用可以让您潜入 包含 ORDER 中的函数的非路径检查 Order 实例 BY 子句。这是可能的,因为订单附加到给定的 请求参数。默认情况下,Spring Data JPA 拒绝任何 Order 实例 包含函数调用,但您可以使用 JpaSort.unsafe 添加 可能不安全的订购。

    【讨论】:

    • 不会说这个例子几乎一模一样,据我所见,它还差得很远
    • 没有?它使用排序以及按列的长度排序,就像你的代码 sn-p 所做的那样 - 看起来和我很相似:-)
    猜你喜欢
    • 2021-04-07
    • 2014-10-04
    • 2018-02-07
    • 2019-09-02
    • 1970-01-01
    • 2015-08-04
    • 2022-01-24
    • 2018-12-05
    相关资源
    最近更新 更多