我使用springdatajpa查询从数据库中获取搜索结果。我正在按名称或描述搜索结果(这些是我的表中的列)。
List<MyClass> findByNameIgnoreCaseContainingOrDescriptionIgnoreCaseContaining(String name, String description);
当用户试图搜索包含特殊字符的内容(例如 Book ( _ , # , %, etc.)
"). 在本例中,jpa使用 LIKE
它接受下划线或其他特殊字符作为模板的一部分,而不是搜索条件。我怎样才能避免这种情况?
p、 我用的是mysql
1条答案
按热度按时间6l7fqoea1#
我不完全确定它在spring数据中是如何工作的,也许有一种更简洁的方法,但是您可以在将这些字符传递给查询之前屏蔽它们。
例如:
然后打电话
findByNameIgnoreCaseContainingOrDescriptionIgnoreCaseContaining(name, description)
.