![](/img/trans.png)
[英]Spring Data, fetching rows ManyToOne / OneToMany relationships?
[英]Problem in fetching data of @ManyToOne field
我沒有得到@ManyToOne字段的數據。
@Entity
public class UserDetail {
@OneToMany(cascade = { CascadeType.ALL })
@JoinColumn(name = "user_id")
@JsonIgnore
private List<UserOrder> orders;
}
@Entity
public class UserOrder {
@ManyToOne
@JoinColumn(name = "user_id")
@JsonBackReference
private UserDetail userDetail;
@ManyToOne
@JoinColumn(name = "runner_id")
@JsonBackReference(value="runner")
private UserDetail runner;
}
List<UserOrder> findAllByStatusNotInOrderByOrderDateDesc(List<OrderStatus> orderStatuses);
當我獲取訂單列表時,我期待結果中的userdetail和runner,但我沒有獲得任何JSON輸出。
您需要在結果中包含延遲加載關系。
@EntityGraph(attributePaths = "runner")
List<UserOrder> findAllByStatusNotInOrderByOrderDateDesc(List<OrderStatus> orderStatuses);
或者只是設置它急切加載
嘗試以這種方式設置這兩個實體之間的關系:
@Entity
public class UserDetail {
@OneToMany(mappedBy="userDetail", cascade = { CascadeType.ALL })
@JsonIgnore
private List<UserOrder> orders;
@OneToMany(mappedBy="runner", cascade = { CascadeType.ALL })
@JsonIgnore
private List<UserOrder> runnerOrders;
}
@Entity
public class UserOrder {
@ManyToOne
@JoinColumn(name = "user_id")
@JsonBackReference
private UserDetail userDetail;
@ManyToOne
@JoinColumn(name = "runner_id")
@JsonBackReference(value="runner")
private UserDetail runner;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.