Relacionamento Um para Muitos:id referenciado nulo
-
26-12-2019 - |
Pergunta
Estou tentando persistir duas entidades que têm um relacionamento onetomany O cabeçalho das minhas duas entidades é:
@ManyToOne(cascade = CascadeType.PERSIST)
private Customer customer;
/******
@OneToMany(cascade = CascadeType.PERSIST, mappedBy = "customer")
private List<Data> datas;
em ambos os gerenciadores de entidades criei 2 métodos que permitem criar e persistir as duas entidades.
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;
}
Quando liguei para os dois métodos, as entidades foram criadas e persistidas com sucesso, exceto o ID do cliente nos dados de dados que conseguem onde você acha que o problema consiste?
Solução
O lado proprietário da associação é Data.customer
.JPA não se importa com o lado inverso (Customer.datas
), mas este é o único lado que você inicializa.
Chamar data.setCustomer(cust)
em todos os dados que você deseja associar ao cliente.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow