Отношения OneToMany:ссылочный идентификатор нулевой
-
26-12-2019 - |
Вопрос
Я пытаюсь сохранить две субъекты, у которых есть отношения и одноразовые, заголовок моих двух сущностей:
@ManyToOne(cascade = CascadeType.PERSIST)
private Customer customer;
/******
@OneToMany(cascade = CascadeType.PERSIST, mappedBy = "customer")
private List<Data> datas;
в менеджере обоих объектов я создал 2 метода, которые позволяют создавать и сохранять два объекта.
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;
}
Когда я назвал оба метода, объекты были успешно созданы и сохранялись, кроме идентификатора клиента в данных данных, где, по вашему мнению, состоит проблема?
Решение
Владельцем ассоциации является Data.customer
.JPA не заботится об обратной стороне (Customer.datas
), но это единственная сторона, которую вы инициализируете.
Вызов data.setCustomer(cust)
для всех данных, которые вы хотите связать с клиентом.
Не связан с StackOverflow