package enseirb.myinpulse.model; import jakarta.persistence.*; import jakarta.validation.constraints.NotNull; import java.time.LocalDate; import java.time.LocalTime; import java.util.ArrayList; import java.util.List; @Entity @Table(name = "appointment") public class Appointment { /*@OneToMany(mappedBy = "appointmentEntrepreneurs", fetch = FetchType.LAZY, orphanRemoval = true) private final List listEntrepreneur = new ArrayList<>(); */ // should now be useless @OneToMany(mappedBy = "appointmentReport", fetch = FetchType.LAZY, orphanRemoval = true) private final List listReport = new ArrayList<>(); @ManyToMany( fetch = FetchType.LAZY, cascade = {CascadeType.ALL}) @JoinTable( name = "concern", joinColumns = @JoinColumn(name = "idAppointment"), inverseJoinColumns = @JoinColumn(name = "idSectionCell")) List listSectionCell = new ArrayList<>(); @Id @NotNull @GeneratedValue(strategy = GenerationType.IDENTITY) private Long idAppointment; private LocalDate appointmentDate; private LocalTime appointmentTime; private LocalTime appointmentDuration; @Column(length = 255) private String appointmentPlace; private String appointmentSubject; public Appointment() {} public Appointment( Long idAppointment, LocalDate appointmentDate, LocalTime appointmentTime, LocalTime appointmentDuration, String appointmentPlace, String appointmentSubject) { this.idAppointment = idAppointment; this.appointmentDate = appointmentDate; this.appointmentTime = appointmentTime; this.appointmentDuration = appointmentDuration; this.appointmentPlace = appointmentPlace; this.appointmentSubject = appointmentSubject; } public Long getIdAppointment() { return idAppointment; } public void setIdAppointment(Long idAppointment) { this.idAppointment = idAppointment; } public LocalDate getAppointmentDate() { return appointmentDate; } public void setAppointmentDate(LocalDate appointmentDate) { this.appointmentDate = appointmentDate; } public LocalTime getAppointmentTime() { return appointmentTime; } public void setAppointmentTime(LocalTime appointmentTime) { this.appointmentTime = appointmentTime; } public LocalTime getAppointmentDuration() { return appointmentDuration; } public void setAppointmentDuration(LocalTime appointmentDuration) { this.appointmentDuration = appointmentDuration; } public String getAppointmentPlace() { return appointmentPlace; } public void setAppointmentPlace(String appointmentPlace) { this.appointmentPlace = appointmentPlace; } public String getAppointmentSubject() { return appointmentSubject; } public void setAppointmentSubject(String appointmentSubject) { this.appointmentSubject = appointmentSubject; } }