我有两个与unidirectional @OneToMany Lazy
关系的实体。当我尝试添加一个孩子,好像休眠4(我的JPA提供者)实际执行JPA单向@OneToMany性能
- Select查询
- 删除所有儿童提供有关连接表
- 重新插入回所有和新的那父ID孩子在连接表
如何使Hibernate插入我希望的孩子,而不改变我的关系?
我有两个与unidirectional @OneToMany Lazy
关系的实体。当我尝试添加一个孩子,好像休眠4(我的JPA提供者)实际执行JPA单向@OneToMany性能
如何使Hibernate插入我希望的孩子,而不改变我的关系?
默认情况下,一个单向的@OneToMany
关系会使用一个连接表,它会执行我的问题。如果您使用的是JPA2,并且不对父代使用多态,则可以添加@JoinColumn
,这将在子表上创建外键,而不是另一个连接表。 JPA提供程序然后将不执行删除并重新插入。
双向关系将解决您的问题。你可以阅读一些信息here
我不能将其更改为双向,正如我所说的。 –