Performance JPA单向@OneToMany性能

Performance JPA单向@OneToMany性能,performance,hibernate,jpa,Performance,Hibernate,Jpa,我有两个具有单向@OneToMany Lazy关系的实体。当我尝试添加一个子对象时,Hibernate4(我的JPA提供程序)似乎实际执行了一些操作 选择查询 删除联接表上具有该父id的所有子级 重新插入联接表上的所有子项和新子项 如何使Hibernate只插入我想要的孩子,而不改变我的关系?使关系双向将解决您的问题。您可以阅读一些信息默认情况下,单向的@OneToMany关系将使用联接表,它将按照我的问题执行操作。如果您使用的是JPA2,并且不在父级上使用多态性,则可以添加@JoinColum

我有两个具有
单向@OneToMany Lazy
关系的实体。当我尝试添加一个子对象时,Hibernate4(我的JPA提供程序)似乎实际执行了一些操作

  • 选择查询
  • 删除联接表上具有该父id的所有子级
  • 重新插入联接表上的所有子项和新子项

  • 如何使Hibernate只插入我想要的孩子,而不改变我的关系?

    使关系双向将解决您的问题。您可以阅读一些信息

    默认情况下,单向的
    @OneToMany
    关系将使用联接表,它将按照我的问题执行操作。如果您使用的是JPA2,并且不在父级上使用多态性,则可以添加
    @JoinColumn
    ,这将在子表而不是另一个联接表上创建外键。JPA提供程序将不再执行删除和重新插入

    正如我所说的,我不能把它改成双向的。