代码之家  ›  专栏  ›  技术社区  ›  NaN

如何忽略SpringJPAFindby存储库中的重音符号?

  •  0
  • NaN  · 技术社区  · 6 年前

    假设我们有这个存储库:

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

    当用户输入错误时,如何忽略ni搜索过滤器,从而获得相同的结果?

    实例: João | Joao | JOÃO , Marcio | Márcio 等。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Vüsal    6 年前

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

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