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 5b04b2f..0056eb2 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 @@ -1,11 +1,14 @@ package com.ffii.tsms.modules.data.entity; +import com.fasterxml.jackson.annotation.JsonManagedReference; import com.ffii.core.entity.BaseEntity; import com.ffii.tsms.modules.user.entity.User; import jakarta.persistence.*; import jakarta.validation.constraints.NotNull; import java.time.LocalDate; +import java.util.HashSet; +import java.util.Set; @Entity @Table(name = "staff") @@ -55,6 +58,9 @@ public class Staff extends BaseEntity { // @ManyToOne // @JoinColumn(name = "salaryEffId") // private SalaryEffective salaryEffective; + @OneToMany(mappedBy = "staff", cascade = CascadeType.ALL, orphanRemoval = true) + @JsonManagedReference("staff") + private Set skillset = new HashSet<>(); @NotNull @ManyToOne @@ -259,4 +265,12 @@ public class Staff extends BaseEntity { public void setUser(User user) { this.user = user; } + + public Set getSkillset() { + return skillset; + } + + public void setSkillsets(Set skillset) { + this.skillset = skillset; + } } \ No newline at end of file diff --git a/src/main/java/com/ffii/tsms/modules/data/entity/StaffSkillset.java b/src/main/java/com/ffii/tsms/modules/data/entity/StaffSkillset.java index 4207c9d..eb1ec21 100644 --- a/src/main/java/com/ffii/tsms/modules/data/entity/StaffSkillset.java +++ b/src/main/java/com/ffii/tsms/modules/data/entity/StaffSkillset.java @@ -1,6 +1,6 @@ package com.ffii.tsms.modules.data.entity; -import com.ffii.core.entity.BaseEntity; +import com.fasterxml.jackson.annotation.JsonBackReference; import com.ffii.core.entity.IdEntity; import jakarta.persistence.*; import jakarta.validation.constraints.NotNull; @@ -13,10 +13,12 @@ public class StaffSkillset extends IdEntity { @ManyToOne @JoinColumn(name = "staffId") + @JsonBackReference @NotNull private Staff staff; - @ManyToOne + + @OneToOne @JoinColumn(name = "skillId") @NotNull private Skill skill;