スプリングレストコントローラーメソッドでjsonに変換される次のJava JPAオブジェクトがあります。
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 つのサービスが必要です。
Logon: Portfolio オブジェクトと List of Orders オブジェクトを含む User オブジェクトを返します。これには Order.user オブジェクトは必要ありません。
GetOrders: 注文のリストを返します。これには Order.user オブジェクトが必要です。
Order.user は、親の User オブジェクトと同じではありません。
私の質問は、User オブジェクトの無限再帰の問題を回避する方法です。それとも、これは単に設計が悪いのでしょうか?