2010-12-03 36 views

回答

0

我發現orphanRemoval屬性爲@OneToMany@OneToOne關係:

當一個對一個或一個一對多關係的目標實體從關係中刪除,通常希望將刪除操作級聯到目標實體。這樣的目標實體被認爲是「孤兒」,而orphanRemoval屬性可以用來指定應該刪除孤兒實體。例如,如果訂單包含多個訂單項,並且其中一個訂單項已從訂單中刪除,則刪除的訂單項將被視爲孤立。如果orphanRemoval設置爲true,則當訂單項從訂單中刪除時,訂單項實體將被刪除。

用法:

@OneToMany(mappedBy="customer", orphanRemoval=true) 
public List<Order> orders; 
0

有兩件事情應該是很清楚的,而在JPA處理聚集。

  1. 關係世界中的關係。
  2. 對象世界中需要的關係。

Java世界中的關係是由領域需求決定的。例如,一個用戶可能有很多地址,所以我們保持在用戶中進行地址聚合,而不是保持相反的關係。對於構圖,我們需要處理級聯行爲。

更詳細的處理方法請參見here