package kr.wisestone.owl.domain; 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 IssueTypeCustomField extends BaseEntity implements Serializable { private static final long serialVersionUID = 1L; public static final String FIELD_OPTION_Y = "01"; // 필수로 사용 public static final String FIELD_OPTION_N = "02"; // 옵션으로 사용 @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String fieldOption; private Integer position = 0; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "project_id") private Project project; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "issue_type_id") private IssueType issueType; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "custom_field_id") private CustomField customField; @OneToMany(mappedBy = "issueTypeCustomField", cascade = { CascadeType.ALL }, orphanRemoval = true) private Set issueCustomFieldValues = new HashSet<>(); public IssueTypeCustomField(){} public IssueTypeCustomField(Project project, IssueType issueType, CustomField customField, String fieldOption){ this.project = project; this.issueType = issueType; this.customField = customField; this.fieldOption = fieldOption; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getFieldOption() { return fieldOption; } public void setFieldOption(String fieldOption) { this.fieldOption = fieldOption; } public Project getProject() { return project; } public void setProject(Project project) { this.project = project; } public IssueType getIssueType() { return issueType; } public void setIssueType(IssueType issueType) { this.issueType = issueType; } public CustomField getCustomField() { return customField; } public void setCustomField(CustomField customField) { this.customField = customField; } public Set getIssueCustomFieldValues() { return issueCustomFieldValues; } public void setIssueCustomFieldValues(Set issueCustomFieldValues) { this.issueCustomFieldValues = issueCustomFieldValues; } public Integer getPosition() { return position; } public void setPosition(Integer position) { this.position = position; } }