首页 > 解决方案 > 如何处理 Spring Data 中的双向@DBref?

问题描述

我有一个自行车模型:

public class Bike {

    @Id
    private ObjectId objectId;

    @DBRef
    private Brand brand;

    private String model;
}

和品牌模型:

public class Brand {

    @Id
    private ObjectId objectId;

    private String name;

    @DBRef
    private List<Bike> bikes;
}

如果我使用bikeRepository.findAll()Spring Data 提供的,我会进入一个循环,因为 bikes 引用了 Brand 文档,而 Brand 文档又引用了 Bike 文档。

如何处理?我想获得带有品牌对象(甚至只是品牌名称)的自行车清单

标签: springmongodbspring-datadbref

解决方案


尝试为@JsonBackReference您的自行车类添加注释:

public class Bike {

    @Id
    private ObjectId objectId;

    @JsonBackReference
    @DBRef
    private Brand brand;

    private String model;
}

推荐阅读