diff --git a/src/main/java/com/ffii/tsms/modules/data/entity/Staff.java b/src/main/java/com/ffii/tsms/modules/data/entity/Staff.java index 2cb3eff..4813d7c 100644 --- a/src/main/java/com/ffii/tsms/modules/data/entity/Staff.java +++ b/src/main/java/com/ffii/tsms/modules/data/entity/Staff.java @@ -6,6 +6,8 @@ import com.ffii.tsms.modules.user.entity.User; import jakarta.persistence.*; import jakarta.validation.constraints.NotNull; import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.ObjectIdGenerators; import java.time.LocalDate; import java.util.HashSet; @@ -49,6 +51,7 @@ public class Staff extends BaseEntity { private Grade grade; @ManyToOne + @JsonManagedReference @JoinColumn(name = "teamId") private Team team; diff --git a/src/main/java/com/ffii/tsms/modules/data/entity/Team.java b/src/main/java/com/ffii/tsms/modules/data/entity/Team.java index 0f22ae9..c723931 100644 --- a/src/main/java/com/ffii/tsms/modules/data/entity/Team.java +++ b/src/main/java/com/ffii/tsms/modules/data/entity/Team.java @@ -22,10 +22,14 @@ public class Team extends BaseEntity { @NotNull @OneToOne - @JsonBackReference("staff-team") + @JsonBackReference @JoinColumn(name = "teamLead", unique = true) private Staff staff; +// @NotNull + @OneToOne(mappedBy = "team", cascade = CascadeType.ALL, orphanRemoval = true) + private Staff teamLead; + public String getDescription() { return description; } @@ -53,4 +57,6 @@ public class Team extends BaseEntity { public Staff getStaff() { return staff;} public void setStaff(Staff staff) { this.staff = staff; } + + public Staff getTeamLead() { return teamLead;} } \ No newline at end of file