【问题标题】:How to ignore accents in Spring JPA findBy repository?如何忽略 Spring JPA findBy 存储库中的重音符号?
【发布时间】:2019-07-05 05:23:03
【问题描述】:

假设我们有这个存储库:

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

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

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

【问题讨论】:

标签: spring-boot spring-data-jpa accent-sensitive


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-05-08
    • 1970-01-01
    • 1970-01-01
    • 2016-09-28
    • 1970-01-01
    • 2013-08-28
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多