Witam, piszę menadżer zadań i mam problem z tabelami łączącymi, podczas tworzenia nowego projektu (wybieram w nim klienta jak na zdjęciu nr 1) wszystko cacy. Tworzy projekt, ale nie wklepuje do łączącej id_projektu i id_klienta (jak na zdjęciu nr 2)
zdjęcie nr 1
zdjęcie nr 2
Kod addProjectController:
btnDodajProjekt.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent event) {
Project dodajProject = new Project();
dodajProject.setTitle(tf_tytul.getText());
dodajProject.setDescription(ta_opis.getText());
dodajProject.setDate_start(Date.valueOf(dp_start.getValue()));
dodajProject.setDate_finish(Date.valueOf(dp_koniec.getValue()));
dodajProject.setStatus(cb_status.getValue());
dodajProject.setCustomers(przydzielKlientaDoProjektu());
SprawdzaniePoprawnosci sp = new SprawdzaniePoprawnosci();
if (sp.jesliPoprawny(dodajProject)) {
DostepProject dp = new DostepProject();
boolean dodany = dp.saveProject(dodajProject);
if (dodany) {
JOptionPane.showMessageDialog(null,
"Pomyślnie dodano projekt.");
Stage stage = (Stage) btnDodajProjekt.getScene()
.getWindow();
stage.close();
} else {
JOptionPane.showMessageDialog(null,
"Błąd dodawania projektu.");
}
} else {
System.out.println("Uzupełnij prawidłowo dane.");
}
}
});
}
public List<Customer> przydzielKlientaDoProjektu() {
List<Customer> klientDoProjektu = new ArrayList<Customer>();
klientDoProjektu.add(cb_klient.getSelectionModel().getSelectedItem());
return klientDoProjektu;
}
Fragment kodu modelu Project:
@ManyToMany(mappedBy = "klient")
private List<Customer> customers;
public List<Customer> getCustomers() {
if (customers != null) {
return customers;
} else {
return null;
}
}
public void setCustomers(List<Customer> customers) {
this.customers = customers;
}
Fragment kodu modelu Customer:
@ManyToMany
@JoinTable(name = " klienci_projekty", joinColumns = { @JoinColumn(name = "id_customer") }, inverseJoinColumns = { @JoinColumn(name = "id_project") })
private List<Project> klient;
Móżdżę nad tym cały dzień i bez efektu, zwłaszcza, że mam taki sam kod dla Taska i tam działa a tu nie, tam też mam ManyToMany. Proszę o podpowiedź, gdzie jest błąd, lub czego tu brakuje. Dzięki wielkie z góry.