2013-06-12 30 views
0

對於Customer對象,我有多個訂單。所以,在一個頁面上,我有一個客戶和多個訂單對象,如何在Play框架中綁定來自同一頁面的多個對象

<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); 
} 

所以我得到的訂單大小s 2;但我沒有得到orderType的數據。誰能幫我這個? (它不會在數據庫中仍然存在,但客戶對象保存)

當我做customer.save();我希望客戶得到保存並命令被保存; (這只是一個簡單的示例程序)

- 編輯---

它的工作原理,如果我單獨保存的訂單通過他們的循環。

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

我只想知道當我保存父模型時是否可以保存子模型。我是否缺少一些註釋?

回答

0

Play 1.x的工作方式,按照documentation,你必須明確地保存你想要保存的每個對象。所以是的,你必須迭代所有的對象。

相關問題