美文网首页
Spring Data Jpa查询属性中带下划线_的处理

Spring Data Jpa查询属性中带下划线_的处理

作者: 我是喵啊喵 | 来源:发表于2019-01-15 10:11 被阅读0次
在Spring Data Jpa中做分页查询时,通常会构造Pageable对象,例如: image.png
如果说要排序的字段中带有下划线,查询报错,如下: image.png 原因是Spring Data Jpa在构造查询时,对属性正则处理导致属性从下划线分开,查询时无法获得属性名。
Spring Data Jpa源码中这部分的处理代码如下 image.png image.png

这里只需要对属性名转义,在头和尾添加\Q和\E就可使中间的标点符号失去特殊意义,将中间的字符作为普通字符。这样Spring Data Jpa就可以正确识别该属性了。注意,能处理转义字符的方法是JpaSort.unsafe(),Sort.by()是不支持的。

补充:转义字符(\Q \U \L \E)
使用 \U 开始,\E 结束,除了具有 \Q...\E 相同的功能外,还将中间的小写字母转换成大写。在大小写敏感模式下,只能与大写文本匹配。
使用 \L 开始,\E 结束,除了具有 \Q...\E 相同的功能外,还将中间的大写字母转换成小写。在大小写敏感模式下,只能与小写文本匹配。
作者:JSON_NULL
链接:https://www.jianshu.com/p/2dd9bc29a696
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

相关文章

  • Spring Data Jpa查询属性中带下划线_的处理

    这里只需要对属性名转义,在头和尾添加\Q和\E就可使中间的标点符号失去特殊意义,将中间的字符作为普通字符。这样Sp...

  • Spring Data JPA进阶

    Spring Data JPA进阶 目录 ddl属性配置 通过解析方法名查询 关联查询 spring.jpa.pr...

  • 7 Spring-data-jpa查询方法

    springdata-jpa 八种查询方法 Spring Data JPA 简单查询--接口方法 jpa动态查询-...

  • Spring Data JPA

    Spring Data JPA 通过简析方法名查询 1、在Spring-data-jpa中,只需要编写一些继承Jp...

  • JPA查询

    jpa常用的查询方式 jpa官方文档 https://docs.spring.io/spring-data/jpa...

  • Example 查询

    Query By Example Spring Data JPA 实例查询

  • Spring Data JPA 基本使用

    JPA查询传递参数和对象 参数 对象 通过spring-data-jpa进行复杂对象查询 通过spring-dat...

  • Spring Data JPA 简介

    什么是Spring Data JPA? Spring Data JPA是Spring Data系列中的重要一员,他...

  • JPA-复杂查询

    时间相关查询 Spring data jpa 条件查询-按时间段查询Jpa查询排序,时间范围查询,当天时间范围查询...

  • 枚举及Spring Data JPA分页

    Spring Data JPA分页查询在Service接口方法中传入org.springframework.dat...

网友评论

      本文标题:Spring Data Jpa查询属性中带下划线_的处理

      本文链接:https://www.haomeiwen.com/subject/yheedqtx.html