Java 获取双向DbRef关系Spring数据+;蒙哥达

Java 获取双向DbRef关系Spring数据+;蒙哥达,java,spring,mongodb,spring-data,bidirectional,Java,Spring,Mongodb,Spring Data,Bidirectional,我是MongoDB的新手。我正在准备一个学习的例子。看起来,当使用Spring数据和DBRef处理双向关系时,它会进入一个无端点的循环,并一次又一次地读取关联 域类看起来像 class Category{ private String name; private Category parentCategory; private Set<Category> childCategories; // getter & setters } 类别{

我是MongoDB的新手。我正在准备一个学习的例子。看起来,当使用Spring数据和DBRef处理双向关系时,它会进入一个无端点的循环,并一次又一次地读取关联

域类看起来像

class Category{
    private String name;
    private Category parentCategory;
    private Set<Category> childCategories;
    // getter & setters 
}
类别{
私有字符串名称;
私人类;
私设儿童类别;
//接球手和接球手
}
我想知道这种双向关系(在ORMs中很常见)是否是罕见的情况,但我在这方面没有得到任何帮助。一种选择可能是编写自定义转换器并忽略关系的任何一方,但这将使内存中的对象变成不一致的状态

请分享这方面的想法或一些处理此类场景的最佳实践

谢谢,
Vishal Shukla

你解决了这个问题吗?如果是,请告诉我你是如何解决这个问题的。我甚至不认为编写一个自定义转换器会有帮助。spring数据中的
MongoMappingConverter
尝试解析所有dbref,并在将其传递给任何自定义转换器之前构建要读取的资源的
DBObject
:因此,如果Mongo DB本身具有DBRefs,spring数据将在到达自定义转换器之前消失。