如何使用Spring JPA存储库搜索带撇号的字符串

如何使用Spring JPA存储库搜索带撇号的字符串,spring,spring-data-jpa,Spring,Spring Data Jpa,我有 -具有id、名称、电子邮件和时间戳属性的用户模型 -用户存储库 -带有两行用户表的Postgres数据库(Joseph,O'Reilly) 当我表演的时候 User=userRepository.findFirstByName(“O'Reilly”); 我无法获取用户,用户为空 User=userRepository.findFirstByName(“Joseph”); 我得到了用户,用户不是空的 我应该怎么做才能通过像“O'Reilly”这样的字符串搜索得到结果 (我使用Spring

我有 -具有id、名称、电子邮件和时间戳属性的用户模型 -用户存储库 -带有两行用户表的Postgres数据库(Joseph,O'Reilly)

当我表演的时候

  • User=userRepository.findFirstByName(“O'Reilly”); 我无法获取用户,用户为空

  • User=userRepository.findFirstByName(“Joseph”); 我得到了用户,用户不是空的

我应该怎么做才能通过像“O'Reilly”这样的字符串搜索得到结果

(我使用SpringFramework 1.5.6.RELEASE)

在这种情况下,您可以使用(本机)查询

@Query(nativeQuery = true, value = "SELECT * FROM table_name "
                                 + "WHERE col_name = :name collate utf8_bin")
public List<EntityName> find(@Param("name") String name);
@Query(nativeQuery=true,value=“从表名称中选择*
+“其中col\u name=:name collate utf8\u bin”)
公共列表查找(@Param(“name”)字符串名称);

您是否尝试跳过撇号?User User=userRepository.findFirstByName(“O'Reilly”);您也可以用SQL的方式进行尝试:User User=userRepository.findFirstByName(“O’'Reilly”);