Hibernate EntityManager.merge()不更新子实体
我正在尝试使用实体管理器merge()更新子实体。我的实体是:Hibernate EntityManager.merge()不更新子实体,hibernate,entitymanager,Hibernate,Entitymanager,我正在尝试使用实体管理器merge()更新子实体。我的实体是: @Entity public class Customer { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String name; @OneToMany(cascade = {CascadeType.ALL}, fetch = FetchType.EAGER, map
@Entity
public class Customer {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
@OneToMany(cascade = {CascadeType.ALL}, fetch = FetchType.EAGER, mappedBy = "customer")
private Set<Address> stores = new LinkedHashSet<>();
}
@Entity
public class Address{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String addressType;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "customerId")
private Customer customer;
}
@实体
公共类客户{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
私有整数id;
私有字符串名称;
@OneToMany(cascade={CascadeType.ALL},fetch=FetchType.EAGER,mappedBy=“customer”)
私有集合存储=新LinkedHashSet();
}
@实体
公共课堂演讲{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
私有整数id;
私有字符串地址类型;
@多通(级联=级联类型.ALL)
@JoinColumn(name=“customerId”)
私人客户;
}
我在一个jsp页面中添加地址(子实体),在另一个jsp页面中删除地址(子实体),并使用EntityManager合并方法保存地址,在每个页面中保存客户(父实体)。在添加地址之前,它可以正常工作,但在删除之后,它不会删除与客户相关的地址。请看一看,让我知道我是否遗漏了什么。合并代码在哪里请简单调用合并方法,我将使用spring从json构建客户,我确保客户正确构建。entityManager.merge(customer)尝试文档中指定的
orphanRemoving=true
-已尝试,但不起作用请在地址类中检查此映射“@JoinColumn(name=“customerId”)”。Customer
类中的customerId
在哪里?尝试在Customer
类中将属性从id
更改为customerId
,或使用@列('customerId')
注释指定相同的属性