Relazione Onetomany: ID referenziato NULL
-
26-12-2019 - |
Domanda
Sto cercando di persistere due entità che hanno una relazione di Onetomany L'intestazione delle mie due entità è:
@ManyToOne(cascade = CascadeType.PERSIST)
private Customer customer;
/******
@OneToMany(cascade = CascadeType.PERSIST, mappedBy = "customer")
private List<Data> datas;
.
In entrambi i responsabili delle entità ho creato 2 metodo che consente di creare ND persistono le due entità.
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 ho chiamato entrambi i metodi, le entità sono state create e persistevano con successo, ad eccezione dell'ID del cliente nel DataTable dei dati che ottengono Dove pensi che il problema consiste in?
Soluzione
Il lato del proprietario dell'associazione è Data.customer
.JPA non si preoccupa del lato investito (Customer.datas
), ma questa è l'unica fianco che inizializza.
Chiama data.setCustomer(cust)
su ogni dato che si desidera associare al cliente.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow