package kr.wisestone.owl.domain; import kr.wisestone.owl.domain.enumType.ProjectType; import javax.persistence.*; import java.io.Serializable; import java.util.HashSet; import java.util.Set; /** * Created by wisestone on 2018-03-07. */ @Entity public class Workflow extends BaseEntity implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String description; @Enumerated(EnumType.STRING) private ProjectType projectType; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "workspace_id") private Workspace workspace; @OneToMany(mappedBy = "workflow", cascade = {CascadeType.ALL}) private Set issueTypes = new HashSet<>(); @OneToMany(mappedBy = "workflow", cascade = { CascadeType.ALL }, orphanRemoval = true) private Set workflowTransitions = new HashSet<>(); public Workflow(){} 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 Set getIssueTypes() { return issueTypes; } public void setIssueTypes(Set issueTypes) { this.issueTypes = issueTypes; } public Set getWorkflowTransitions() { return workflowTransitions; } public void setWorkflowTransitions(Set workflowTransitions) { this.workflowTransitions = workflowTransitions; } public ProjectType getProjectType() { return projectType; } public void setProjectType(ProjectType projectType) { this.projectType = projectType; } }