我有兩個與unidirectional @OneToMany Lazy
關係的實體。當我嘗試添加一個孩子,好像休眠4(我的JPA提供者)實際執行JPA單向@OneToMany性能
- Select查詢
- 刪除所有兒童提供有關連接表
- 重新插入回所有和新的那父ID孩子在連接表
如何使Hibernate插入我希望的孩子,而不改變我的關係?
我有兩個與unidirectional @OneToMany Lazy
關係的實體。當我嘗試添加一個孩子,好像休眠4(我的JPA提供者)實際執行JPA單向@OneToMany性能
如何使Hibernate插入我希望的孩子,而不改變我的關係?
默認情況下,一個單向的@OneToMany
關係會使用一個連接表,它會執行我的問題。如果您使用的是JPA2,並且不對父代使用多態,則可以添加@JoinColumn
,這將在子表上創建外鍵,而不是另一個連接表。 JPA提供程序然後將不執行刪除並重新插入。
雙向關係將解決您的問題。你可以閱讀一些信息here
我不能將其更改爲雙向,正如我所說的。 –