package enseirb.myinpulse.model; import jakarta.persistence.*; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; @Entity @Table(name = "project") public class Project { @OneToMany(mappedBy = "projectParticipation", fetch = FetchType.LAZY, orphanRemoval = true) private final List listEntrepreneurParticipation = new ArrayList<>(); @OneToMany(mappedBy = "projectSectionCell", fetch = FetchType.LAZY, orphanRemoval = true) private final List listSectionCell = new ArrayList<>(); @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long idProject; @Column(length = 255) private String projectName; private byte[] logo; private LocalDate creationDate; @Column(length = 255) private String projectStatus; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "idAdministrator") private Administrator projectAdministrator; @OneToOne(mappedBy = "projectProposed", fetch = FetchType.LAZY, orphanRemoval = true) private Entrepreneur entrepreneurProposed; public Project() {} public Project( String projectName, byte[] logo, LocalDate creationDate, String projectStatus, Administrator projectAdministrator) { this.projectName = projectName; this.logo = logo; this.creationDate = creationDate; this.projectStatus = projectStatus; this.projectAdministrator = projectAdministrator; } public Long getIdProject() { return idProject; } public void setIdProject(Long idProject) { this.idProject = idProject; } public String getProjectName() { return projectName; } public void setProjectName(String projectName) { this.projectName = projectName; } public byte[] getLogo() { return logo; } public void setLogo(byte[] logo) { this.logo = logo; } public LocalDate getCreationDate() { return creationDate; } public void setCreationDate(LocalDate creationDate) { this.creationDate = creationDate; } public String getProjectStatus() { return projectStatus; } public void setProjectStatus(String projectStatus) { this.projectStatus = projectStatus; } public Administrator getAdministrator() { return this.projectAdministrator; } public void setAdministrator(Administrator administrator) { this.projectAdministrator = administrator; } }