0

我有一个 Order 对象,其中包含 Orderline 对象的集合。

命令:

@XmlRootElement
public class Order implements Serializable{
.....
@OneToMany(cascade = CascadeType.ALL, mappedBy = "order")
private List<Orderline> orderlineCollection;

订单线:

@XmlRootElement
public class Orderline implements Serializable{
.....
@JoinColumn(name = "order_id", referencedColumnName = "id")
@ManyToOne(optional = false)
private Order order;

订单对象通过 XML 从不同的应用程序发送。起初我得到一个异常,order_id 不能为空,所以我认为 orderline 是在 order 对象之前保存的。

但是经过一番搜索后,我发现(似乎)在将 xml 转换为对象时,没有设置从 orderline 到 order 的关系。Tho Order 确实有订单线。所以要解决这个问题,我现在必须循环排序 orderline 集合并设置顺序。

for(Orderline line : order.getOrderlineCollection()){
    line.setOrder(order);
}

虽然这解决了我的问题,但对可能所有的关系都这样做并不合适。这是正常行为吗?我应该以不同的方式解决这个问题吗?

4

0 回答 0