【发布时间】:2022-09-23 08:14:39
【问题描述】:
我很难考虑如何提供可重现的示例,因为有很多活动部件。基础是,我有一个使用 JpaRepository 的 Spring Boot 应用程序,我试图在一列中搜索带有字符串 A40-CN0249RN2A 的记录,但无法获得搜索结果。以下是我将抛出的一些数据点,以显示我去过的地方:
- 使用 SpringBoot 2
- 使用 JpaRepository
- 使用休眠
- 使用 Postgres
- 我已确认该列有数据
- 我已在 findAll() 搜索中确认数据出现在结果实体中
- 我已经记录了查询和绑定变量,并确认 sql 在 sql 客户端中获得了结果
- 一篇 SO 文章告诉我破折号是可疑的。关于破折号:
- 我可以用破折号在不同的列上搜索结果
- 我已确认我可以搜索的破折号和我不能搜索的破折号是相同的 ascii 值
- 我已将破折号替换为 _ 通配符,但仍无法获得结果
- 我无法使用
A40-CN0249RN2A获得结果,但我可以使用A40-和-CN0249RN2A和-在列上获得结果
所以迷失了方向。提前感谢您能给我的任何帮助。
-
该值是否可能存在前导/尾随空格?
-
@PaulT。不,恐怕我检查了字符长度 - 另外,如果它是 db 列中的尾随空格,则 url 搜索词不会有它。 :(
标签: sql postgresql hibernate spring-data-jpa spring-data