【问题标题】:Hibernate one to many mapping skipping relationshipHibernate 一对多映射跳过关系
【发布时间】:2018-04-04 14:42:57
【问题描述】:

假设我在员工和地址实体之间存在一对多的关系。是否可以先单独创建员工,然后再用地址更新员工映射..

Tq

【问题讨论】:

  • 这是可能的,但你没有解释你试图这样做的问题是什么,你也没有分享你的实体代码。我们需要有关您的问题的更多详细信息来帮助您。
  • 请帮我做这件事
  • 添加你目前拥有的代码

标签: hibernate jpa hibernate-mapping hibernate-criteria


【解决方案1】:

您可以向@OneToMany 关系添加级联。您可以使用CascadeType.PERSIST,它会在修改子实体并保存父实体时更新子实体。

@Entity
public class Employee {
  ...
  @OneToMany(cascade=CascadeType.PERSIST)
  private Set<Address> addresses;
  ...
}

@Entity
public class Address{
  ...
}

现在您可以在没有任何Address 的情况下保存/保留新员工。当您要添加地址时,您可以查询员工,添加新地址,然后保存更新的员工。新的地址实体将与员工保持一致。

这是一个很好的关于 JPA 级联的文章

https://vladmihalcea.com/a-beginners-guide-to-jpa-and-hibernate-cascade-types/

【讨论】:

    猜你喜欢
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多