Cześć,
mam 2 tabele + jedna łącząca, a w nich many-to-many z dodatkowymi kolumnami w tabeli łączącej, więc używam dwóch relacji oneToMany używając composite primary key - EmbeddedId.
Problemy mam podczas zapisywania rekordów do tabeli łączącej, ponieważ ma ona własny klucz Id (PK), ponieważ przy POST request wypluwa mi error null value was generated for class: [ścieżka klasy tabeli łączącej] id. Wiecie może jak dobrze zdefiniować owo Id w klasie?
@Entity
@Table(name = "hospital_doctor")
public class HospitalDoctor {
@Embeddable
static class Hosdoc implements Serializable {
private int hospitalId;
private int doctorId;
}
@EmbeddedId
@JsonBackReference
public Hosdoc hosdoc;
@JsonManagedReference
@MapsId("DoctorId")
@ManyToOne(optional = false)
@JoinColumn(name = "doctorId", referencedColumnName = "id")
private Doctor doctor;
@JsonManagedReference
@MapsId("HospitalId")
@ManyToOne(optional = false)
@JoinColumn(name = "hospitalId", referencedColumnName = "id")
private Hospital hospital;
//fields of hospitalDoctor table
private int Id; // <<<=========== ID, WHICH I NEED TO DEFINE
@Temporal(TemporalType.DATE)
private Date contract_start_date;
@Temporal(TemporalType.DATE)
private Date contract_end_date;
private String position;
private String supervisor;
private boolean part_time;
//GETTERS AND SETTERS....
Dziękuję za zainteresowanie tematem