package enseirb.myinpulse.model; import jakarta.persistence.*; import jakarta.persistence.Entity; import jakarta.persistence.Table; @Entity @Table(name = "entrepreneur") @PrimaryKeyJoinColumn(name = "idEntrepreneur", referencedColumnName = "idUser") public class Entrepreneur extends User { @Column(length = 255) private String school; @Column(length = 255) private String course; private boolean sneeStatus; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "idProjectParticipation", referencedColumnName = "idProject") private Project projectParticipation; // @Column(insertable=false, updatable=false) @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "idProjectProposed", referencedColumnName = "idProject") private Project projectProposed; /*@ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "idAppointment") private Appointment appointmentEntrepreneur;*/ // should now be useless @OneToOne(mappedBy = "entrepreneurAppointment", fetch = FetchType.LAZY, orphanRemoval = true) private MakeAppointment makeAppointment; public Entrepreneur() {} public Entrepreneur( String userSurname, String username, String primaryMail, String secondaryMail, String phoneNumber, String school, String course, boolean sneeStatus, boolean pending) { super(userSurname, username, primaryMail, secondaryMail, phoneNumber, pending); this.school = school; this.course = course; this.sneeStatus = sneeStatus; } public Entrepreneur( String userSurname, String username, String primaryMail, String secondaryMail, String phoneNumber, String school, String course, boolean sneeStatus) { super(userSurname, username, primaryMail, secondaryMail, phoneNumber, true); this.school = school; this.course = course; this.sneeStatus = sneeStatus; } public Entrepreneur( String userSurname, String userName, String primaryMail, String secondaryMail, String phoneNumber, String school, String course, boolean sneeStatus, Project projectParticipation, Project projectProposed, MakeAppointment makeAppointment, boolean pending) { super(userSurname, userName, primaryMail, secondaryMail, phoneNumber, pending); this.school = school; this.course = course; this.sneeStatus = sneeStatus; this.projectParticipation = projectParticipation; this.projectProposed = projectProposed; this.makeAppointment = makeAppointment; } public String getSchool() { return school; } public void setSchool(String school) { this.school = school; } public String getCourse() { return course; } public void setCourse(String course) { this.course = course; } public boolean isSneeStatus() { return sneeStatus; } public void setSneeStatus(boolean statusSnee) { this.sneeStatus = sneeStatus; } public Project getProjectParticipation() { return projectParticipation; } public void setProjectParticipation(Project projectParticipation) { this.projectParticipation = projectParticipation; } public Project getProjectProposed() { return projectProposed; } public void setProjectProposed(Project projectProposed) { this.projectProposed = projectProposed; } public MakeAppointment getMakeAppointment() { return makeAppointment; } public void setMakeAppointment(MakeAppointment makeAppointment) { this.makeAppointment = makeAppointment; } }