spring - 如何处理 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 文档。
如何处理?我想获得带有品牌对象(甚至只是品牌名称)的自行车清单
解决方案
尝试为@JsonBackReference
您的自行车类添加注释:
public class Bike {
@Id
private ObjectId objectId;
@JsonBackReference
@DBRef
private Brand brand;
private String model;
}
推荐阅读
- javascript - 如何使用 JavaScript 在页面上一次显示 1 个表单
- java - 如何为多个模块生成javadoc
- php - 如何在 Symfony 的控制器内的会话中保存用户
- keras - Keras 教程 max_length
- python - ValueError:feature_columns 的项目必须是 _DenseColumn
- dart - Flutter Picking Wrong Keystore path 并给出错误 key.jks not found
- google-colaboratory - 与colab兼容的jupyter版本?
- python-3.x - 你能从外部“强制”一个方法进入一个类吗?
- node.js - 从 Nodejs 使用 MusicKit JS
- javascript - 无法在 ApolloServer 中抛出错误,在捕捉到 Cognito 错误时未处理的承诺拒绝