2

假设我们有这个存储库:

public interface DeviceTypeRepository extends CrudRepository<DeviceType, Integer>, JpaSpecificationExecutor<DeviceType> {    
    public Iterable<DeviceType> findByNameContaining(String name);    
}

如何通过忽略用户错误输入重音 ni 搜索过滤器来获得相同的结果?

例子:João | Joao | JOÃOMarcio | Márcio

4

1 回答 1

2

在 Spring 的内置功能中无法做到这一点。您可以考虑使用Elastic Search来做到这一点,有一篇关于这个主题的文章You Have an Accent

另一种方法是不在 DB 中存储重音字母并在执行 SQL 请求之前执行映射或使用自定义 SQL 函数在 DB 端执行映射 - 但这是一个过于繁琐和脆弱的解决方案。

于 2019-02-11T17:07:40.843 回答