如何使用存储库接口在Spring Data中通过其嵌套对象的objectId查找集合?
2022-09-03 17:30:53
我在MongoDB中有一个集合,其中包含如下项目:
{
"_id" : ObjectId("53e4d31d1f6b66e5163962e3c"),
"name" : "bob",
"nestedObject" : {
"_id" : ObjectId("53f5a623cb5e4c1ed4f6ce67")
//more fields...
}
}
此项的 Java 表示形式如下所示:
public class SomeObject {
@Id
private String id;
private String name;
private NestedObject nestedObject;
//getters and setters
}
存储库接口定义如下:
public interface SomeObjectRepository extends MongoRepository<SomeObject, String> {
public List<SomeObject> findByName(String name);
public List<SomeObject> findByNestedObjectId(String id);
//some other find functions
}
现在,它按预期工作,但不返回任何内容。findByName(String name)
findByNestedObjectId(String id)
问题是:是否可以使用存储库接口通过其嵌套对象的属性来查找集合项?如果没有,那么解决此问题的推荐方法是什么?在不重新实现整个存储库的情况下是否可能?