我有以下 java JPA 对象,它们在我的 spring rest 控制器方法中转换为 json,它们是
class User{
@JsonManagedReference
@OneToMany
private Portfolio portfolio;
.....
}
class Portfolio {
@JsonBackReference
@ManyToOne
private User user;
@JsonManagedReference
private List<Order> orders;
.....
}
class Order {
@JsonBackReference
private Portfolio portfolio;
private User user;
}
在我的应用程序中,我需要 2 项服务:
登录:返回 User 对象,带有 Portfolio 和 List of Orders 对象,我不需要 Order.user 对象。
GetOrders:返回一个订单列表,我需要 Order.user 对象。
Order.user 与父 User 对象不同。
我的问题是如何避免用户对象的无限递归问题?或者这只是一个糟糕的设计?