我试图坚持两个拥有OneToMany关系的实体 我的两个实体的标题是:
@ManyToOne(cascade = CascadeType.PERSIST)
private Customer customer;
/******
@OneToMany(cascade = CascadeType.PERSIST, mappedBy = "customer")
private List<Data> datas;
在两个实体管理器中我创建了2个方法,允许创建nd持久化两个实体。
public Data createData(String name, int number) {
Data d = new Data();
data.setNamte(name);
data.setNumber(number);
return mail;
}
public Customer createCustomer(String name, String famillyname, int age, List<Data> datas) {
Customer cust=new Customer();
cust.setName(name);
cust.setFamillyName(famillyname);
cust.setAge(age);
cust.setData(data);
em.persist(cust)
return data;
}
当我调用这两个方法时,实体已成功创建并持久化,但数据数据表中的客户ID除外 您认为问题在哪里?
答案 0 :(得分:1)
协会的所有者方是Data.customer
。 JPA不关心反面(Customer.datas
),但这是你初始化的唯一一面。
在您要与客户关联的每个数据上调用data.setCustomer(cust)
。