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 查询的符号 (_) 只是大写结束你的关键字
谢谢大家的回答。我应该在我的问题中发布完整的异常,因为在再次查看之后,我意识到错误是在另一个存储库中声明的方法。
我有
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 查询的符号 (_) 只是大写结束你的关键字
谢谢大家的回答。我应该在我的问题中发布完整的异常,因为在再次查看之后,我意识到错误是在另一个存储库中声明的方法。