package kr.wisestone.owl.domain; import org.hibernate.annotations.DynamicInsert; import javax.persistence.*; import java.io.Serializable; import java.util.HashSet; import java.util.Set; /** * Created by wisestone on 2018-03-07. */ @Entity @DynamicInsert public class IssueType extends BaseEntity implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String description; private String color; private Long usePartner; private Boolean inheritPartners; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "workspace_id") private Workspace workspace; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "workflow_id") private Workflow workflow; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "project_id") private Project project; @OneToMany(mappedBy = "issueType", cascade = {CascadeType.ALL}, orphanRemoval = true) private Set issueTypeApiEndStatuses; /*@ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "company_id") private CompanyField companyField; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "isp_id") private IspField ispField; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "hosting_id") private HostingField hostingField;*/ @OneToMany(mappedBy = "issueType", cascade = { CascadeType.ALL }, orphanRemoval = true) private Set issueTypeCustomFields = new HashSet<>(); public IssueType(){} public IssueType(Workspace workspace, Workflow workflow, String name, String description, String color, Long usePartner, Boolean inheritPartners){ this.workspace = workspace; this.workflow = workflow; this.name = name; this.description = description; this.color = color; this.usePartner = usePartner; this.inheritPartners = inheritPartners; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public Workspace getWorkspace() { return workspace; } public void setWorkspace(Workspace workspace) { this.workspace = workspace; } public Workflow getWorkflow() { return workflow; } public void setWorkflow(Workflow workflow) { this.workflow = workflow; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public Set getIssueTypeCustomFields() { return issueTypeCustomFields; } public void setIssueTypeCustomFields(Set issueTypeCustomFields) { this.issueTypeCustomFields = issueTypeCustomFields; } public Project getProject() { return project; } public void setProject(Project project) { this.project = project; } public Long getUsePartner() { return usePartner; } public void setUsePartner(Long usePartner) { this.usePartner = usePartner; } public Set getIssueTypeApiEndStatuses() { return issueTypeApiEndStatuses; } public void setIssueTypeApiEndStatuses(Set issueTypeApiEndStatuses) { this.issueTypeApiEndStatuses = issueTypeApiEndStatuses; } public Boolean getInheritPartners() { return inheritPartners; } public void setInheritPartners(Boolean inheritPartners) { this.inheritPartners = inheritPartners; } }