【发布时间】:2015-06-12 00:03:09
【问题描述】:
我的 Spring 数据存储库中有以下内容:
@Query("select i from Image i where i.name like %:name% and deleted = false")
Collection<Image> findByName(@Param("name") String name);
该方法在数据库中搜索名称包含特定字符串的图像记录 - 因此是“like %:name%”。问题是,如果名称包含“like”运算符特有的字符(例如百分比或下划线),则不会对其进行转义。似乎这是由于 @Query 注释 - 没有它,一切都按预期工作。
如果我有一个名为“my%image”的图像并想搜索“y%”,则 SQL 将是“...like '%y\%%'
我的问题是如何让代码自动转义特殊字符?
【问题讨论】:
标签: java spring repository