2013-03-09 81 views
-1

我想知道是否有例如salesOrder實體和之間的兩個實體的關係SalesOrderItem有關係一對多 我應該如何堅持他們,即。我是否需要保持訂單和關係,或者有辦法以 劃分持續性,並且首先例如從銷售訂單項目和銷售訂單開始。 這只是一個例子,我想知道是否有一種方法,在JPA 的持久化過程中忽略關係並堅持對象而不需要引用關係,但當然如果有外鍵提供它一次關係中使用JPA持續

+0

我不明白你的問題。請提供一些代碼。 – 2013-03-09 19:05:20

+0

我問這個概念是否可以直接爲實體x提供數據,而不用擔心實體y的關係。爲什麼你投下了? – 2013-03-09 19:52:43

+0

我問這個概念,如果我可以直接爲實體x提供數據而不關心實體y的關係,例如,如果我直接將數據提交給數據庫,我不需要擔心它們之間的關係。爲什麼你投票下來? – 2013-03-09 20:02:47

回答

1

一般情況下,你想堅持他們如下:

  1. 建立兩個實體之間的所有聯繫;如果孩子引用父母,則設置該引用。如果父級引用子級(ren),請設置那些引用。

  2. 堅持這兩個實體。如果一個(父)引用另一個(子),則該關係可以標記爲Cascade.PERSIST以允許在持久操作期間遵循引用 - 在這種情況下,您只需要堅持該引用。

您問「是一種分隔堅持的方法,首先是例如從銷售訂單項目和銷售訂單開始」。由於該商品通常會引用它包含訂單,因此很難想象任何合理的情景,您可以在訂單之前堅持該商品。如果您問這些問題對問題的理解如此之少,我會認爲您沒有真正準備好解決可能(或不可能)允許他們爲您工作的例外情況。最好堅持正確的做法。

只要項目實體包含對訂單的特定參考,即使訂單包含子項目的ListMap,也可以先創建訂單(@OneToMany中的'1')。在給定的「工作單元」(實體管理器會話)中,當您添加/創建並保留其他子項時,您仍然需要更新父級的列表/地圖。

+0

@ Richard-謝謝你的回答,也許我試着更好地解釋自己。我們正在嘗試開發的是獲取類的列表(類名稱 - 這是實體)的java api動態地(可以是任何),我需要使用反射來構建實體,併爲類型從文件添加數據(我們正在創建api從文件創建實體的模擬數據),當我做反射時,我已經在實體類成員參與到另一個類的內部,我的問題是如果我必須構建它,或者我可以繼續,當完成時堅持一個實體開始實體b, – 2013-03-09 20:48:55

+0

因爲在我得到的類的列表中我擁有所有實體... – 2013-03-09 20:49:32