2014-05-13 39 views
0

我有兩個表與生成的數據庫結構JoinColumn如下一對多關聯:如何在給定場景中使用hibernate級聯?

表A
------------------------ ----
id(PK)|名稱|電話
----------------------------

表B
--------- -------------------
id(PK)|街道| a_id(FK)
----------------------------

我的應用場景是我必須插入第一個表中的數據和第二個表中的表B具有表A的外鍵。並且這些表上的數據插入是一次一個。

我的問題是我怎樣才能使用休眠級聯插入數據在表B有一個外鍵的表A?

一個解決方案,我發現是:
- >獲取表的目的
- >添加表B對象表的目的
- >和插入表A與表A

啓用級聯但我認爲它太貴了。有沒有其他解決方案呢?

回答

1

您需要在表B中用「cascade = save-update」創建一個manytoone。因此,每一次調用保存包含對象的物體B,這將節省物體的第一,其次是對象B.

編輯:從數據庫

    • 獲取對象的創建對象B
    • 集A到對象B
    • 保存對象B

    我想這是我能做到的對象的需要設置最佳第一個 對不起,幫不了您:)

  • +0

    您的回答最適合我的問題。但我忘了提一件事,我將在表A中存在一個需要與表B相關聯的數據。因此,在插入對象B時,每次使用「cascade = save-update」時都需要更新對象A 」。我認爲它比我提供的解決方案更合適,但是這種情況下還有其他簡單的解決方案嗎? –

    +0

    所以從你評論的內容來看,我覺得你希望表A去做保存而不是表B? –

    +0

    不是。我在說的是,將表B(具有表A的外鍵)直接與表A相關聯。目前,我只有通過使用級聯保存表A來保存表B的想法。 –

    相關問題