From 5fec5801b937a2270920787891e39a8504cdf53f Mon Sep 17 00:00:00 2001 From: wyu <kknd09321@nate.com> Date: 금, 03 12월 2021 15:00:44 +0900 Subject: [PATCH] 사용자 정의 필드 사용중일때 삭제 불가하게 수정 --- src/main/java/kr/wisestone/owl/domain/Department.java | 32 ++++++++++++++++++++++++++++---- 1 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/domain/Department.java b/src/main/java/kr/wisestone/owl/domain/Department.java index 8537951..1fad1bd 100644 --- a/src/main/java/kr/wisestone/owl/domain/Department.java +++ b/src/main/java/kr/wisestone/owl/domain/Department.java @@ -1,10 +1,10 @@ package kr.wisestone.owl.domain; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; +import javax.persistence.*; import java.io.Serializable; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; @Entity public class Department extends BaseEntity implements Serializable { @@ -16,6 +16,9 @@ private Long id; private String departmentName; private String departmentDescription; + + @OneToMany(mappedBy = "department", cascade = {CascadeType.ALL}, orphanRemoval = true) + private Set<ProjectRoleDepartment> projectRoleDepartments = new HashSet<ProjectRoleDepartment>(); public Department() { } @@ -43,4 +46,25 @@ public void setDepartmentDescription(String departmentDescription) { this.departmentDescription = departmentDescription; } + + public void addProjectRole(ProjectRole projectRole) { + if (this.projectRoleDepartments == null) { + this.projectRoleDepartments = new HashSet<>(); + } + ProjectRoleDepartment projectRoleDepartment = new ProjectRoleDepartment(projectRole, this); + + this.projectRoleDepartments.add(projectRoleDepartment); + } + + public void removeProjectRole(ProjectRole projectRole) { + Iterator<ProjectRoleDepartment> iterator = this.projectRoleDepartments.iterator(); + + while (iterator.hasNext()) { + ProjectRoleDepartment projectRoleDepartment = iterator.next(); + if (projectRole.getId().equals(projectRoleDepartment.getProjectRole().getId())) { + this.projectRoleDepartments.remove(projectRoleDepartment); + break; + } + } + } } -- Gitblit v1.8.0