OWL ITS + 탐지시스템(인터넷 진흥원)
src/main/java/kr/wisestone/owl/domain/Issue.java
@@ -1,5 +1,8 @@
package kr.wisestone.owl.domain;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.*;
import java.io.Serializable;
import java.util.HashSet;
@@ -9,12 +12,20 @@
 * Created by wisestone on 2018-01-03.
 */
@Entity
@DynamicInsert
@DynamicUpdate
public class Issue extends BaseEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    public static final String WORKSPACE_MANAGER = "WORKSPACE_MANAGER"; //  업무 공간 관리자
    public static final String PROJECT_MANAGER = "PROJECT_MANAGER"; //  프로젝트 관리자
    public static final String ALL_ISSUE_MANAGER = "ALL_ISSUE_MANAGER"; //  전체 이슈 관리자
    public static final String ALL_PROJECT_MANAGER = "ALL_PROJECT_MANAGER"; //  전체 프로젝트 관리자
    public static final String REGISTER = "REGISTER";   //  이슈 등록자
    public static final String ASSIGNEE = "ASSIGNEE";   //  이슈 담당자
    public static final String DEPARTMENT = "DEPARTMENT";   //  이슈 담당부서
    public static final String IS_API_YES = "Y";
    public static final String IS_API_NO = "N";
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -25,6 +36,7 @@
    private Long issueNumber;
    private String startDate;
    private String completeDate;
    private String isApi;
    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name = "project_id")
@@ -54,6 +66,10 @@
    private Set<IssueUser> issueUsers = new HashSet<>();
    @OrderBy(value="id DESC")
    @OneToMany(mappedBy = "issue", cascade = { CascadeType.ALL }, orphanRemoval = true)
    private Set<IssueDepartment> issueDepartments = new HashSet<>();
    @OrderBy(value="id DESC")
    @OneToMany(mappedBy="issue", cascade={CascadeType.ALL}, orphanRemoval = true)
    private Set<AttachedFile> attachedFiles = new HashSet<>();
@@ -73,6 +89,15 @@
    private Set<IssueCustomFieldValue> issueCustomFieldValues = new HashSet<>();
    @OneToMany(mappedBy = "issue", cascade = { CascadeType.ALL }, orphanRemoval = true)
    private Set<IssueCompany> issueCompanies = new HashSet<>();
    @OneToMany(mappedBy = "issue", cascade = { CascadeType.ALL }, orphanRemoval = true)
    private Set<IssueIsp> issueIsps = new HashSet<>();
    @OneToMany(mappedBy = "issue", cascade = { CascadeType.ALL }, orphanRemoval = true)
    private Set<IssueHosting> issueHostings = new HashSet<>();
    @OneToMany(mappedBy = "issue", cascade = { CascadeType.ALL }, orphanRemoval = true)
    private Set<IssueVersion> issueVersions = new HashSet<>();
    @OneToMany(mappedBy = "issue", cascade = { CascadeType.ALL }, orphanRemoval = true)
@@ -84,6 +109,10 @@
    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name = "workflow_status_id")
    private WorkflowStatus workflowStatus;
    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name = "parent_issue_id")
    private Issue parentIssue;
    public Long getId() {
        return id;
@@ -181,6 +210,14 @@
        this.issueUsers = issueUsers;
    }
    public Set<IssueDepartment> getIssueDepartments() {
        return issueDepartments;
    }
    public void setIssueDepartments(Set<IssueDepartment> issueDepartments) {
        this.issueDepartments = issueDepartments;
    }
    public Set<AttachedFile> getAttachedFiles() {
        return attachedFiles;
    }
@@ -219,6 +256,30 @@
    public void setIssueCustomFieldValues(Set<IssueCustomFieldValue> issueCustomFieldValues) {
        this.issueCustomFieldValues = issueCustomFieldValues;
    }
    public Set<IssueCompany> getIssueCompanies() {
        return issueCompanies;
    }
    public void setIssueCompanies(Set<IssueCompany> issueCompanies) {
        this.issueCompanies = issueCompanies;
    }
    public Set<IssueIsp> getIssueIspFields() {
        return issueIsps;
    }
    public void setIssueIspFields(Set<IssueIsp> issueIsps) {
        this.issueIsps = issueIsps;
    }
    public Set<IssueHosting> getIssueHostingFields() {
        return issueHostings;
    }
    public void setIssueHostingFields(Set<IssueHosting> issueHostings) {
        this.issueHostings = issueHostings;
    }
    public String getStartDate() {
@@ -273,5 +334,19 @@
        this.issueRelations.clear();
    }
    public Issue getParentIssue() {
        return parentIssue;
    }
    public void setParentIssue(Issue parentIssue) {
        this.parentIssue = parentIssue;
    }
    public String getIsApi() {
        return isApi;
    }
    public void setIsApi(String isApi) {
        this.isApi = isApi;
    }
}