Spring 存储库忽略嵌套实体字段的大小写

Spring Repository ignore case on nested entity's field

我有

public class User {
  ...
  private UserCredentials credentials;
  ...
}
public class UserCredentials {
  ...
  private String username;
  ...
}

我想在我的 User 存储库中添加一个查找方法,该方法通过其凭据的用户名查找 User,忽略大小写。所以,我尝试了 User findByCredentials_UsernameIgnoreCaseEquals(final String username),但得到了由

引起的异常

org.springframework.data.mapping.PropertyReferenceException: No property lowercase found for type String! Traversed path: UserCredentials.username.

我尝试了其他几个方法名称,但得到了相同的异常。我做错了什么?

谢谢!

按如下方式尝试不需要_。并确保您在用户和用户凭据 table 之间建立关系,例如 oneToone or onetomany 并且实体具有所有必需的注释。

findByCredentialsUsernameIgnoreCaseEquals(final String username);

这是 spring boot

中的 jpa 参考

https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation

你不需要这个带有 jpa 查询的符号 (_) 只是大写结束你的关键字

谢谢大家的回答。我应该在我的问题中发布完整的异常,因为在再次查看之后,我意识到错误是在另一个存储库中声明的方法。