簡體   English   中英

獲取@ManyToOne字段數據時出現問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM