这是我的实体类:
public class User {
@Id
UserIdentifier userIdentifier;
String name;
}
public class UserIdentifier {
String ssn;
String id;
}
以下是我要做的事情:
public interface UserRepository extends MongoRepository<User, UserIdentifier>
{
User findBySsn(String ssn);
}
我收到一条异常消息(运行时)说:
No property ssn found on User!
如何实现/声明此类查询?
答案 0 :(得分:2)
属性表达式只能引用被管实体的直接属性,如上例所示。在查询创建时,您已确保已解析的属性是托管域类的属性。但是,您也可以通过遍历嵌套属性来定义约束。
所以,而不是
User findBySsn(String ssn);
以下工作(在我的例子中):
User findByUserIdentifierSsn(String ssn);