0

对于对象客户,我有多个订单。所以,在一页中,我有一个客户和多个订单对象,

 <select name="customer.order[0].orderType" id="orderType" >
    #{list orderTypes}
        <option value="${_.id}">${_.name}</option>
    #{/list}
</select>

<select name="customer.order[1].orderType" id="orderType" >
    #{list orderTypes}
        <option value="${_.id}">${_.name}</option>
    #{/list}
</select>

模型客户:

public class Customer{

@OneToMany(mappedBy = "customer")
public List<Order> orders;

}

型号顺序:

     public class Order{

    @ManyToOne
    public TypeOrder orderType;

}

控制器 :

 public static void saveCustomerOrder(Customer customer) {
    customer.save();

    System.out.println(customer.orderType.name + " " + customer.order.size() + " " + customer.order.get(0).orderType);
}

所以我得到的订单大小为 2 ;但我没有得到 orderType 的数据。谁能帮我这个?(它不会保存在数据库中,但会保存客户对象)

当我做 customer.save(); 我希望客户得救,订单得救;(这只是一个简单的示例程序)

- 编辑 - -

如果我通过循环单独保存订单,它会起作用。

for(Order o : customer.orders) 
  o.save(); 

我只想知道当我保存父模型时是否可以保存子模型。我错过了一些注释吗?

4

1 回答 1

0

Play 1.x 的工作方式,根据文档,您必须显式保存要保留的每个对象。所以是的,您必须遍历所有对象。

于 2013-06-12T09:06:47.030 回答