package com.oa.model; import java.io.Serializable; import java.util.HashSet; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.OneToOne; import javax.persistence.OrderBy; import javax.persistence.Table; import javax.persistence.Transient; @Entity @Table(name = "oa_dynamicForm") public class DynamicForm implements Serializable{ private Integer id; private WorkFlow workFlow; private String template; // private Set<DynamicField> dynamicFields = new HashSet<DynamicField>(); @Id @GeneratedValue public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } // @ManyToOne(fetch=FetchType.LAZY) // @JoinColumn(name="workflowId",referencedColumnName="id") @OneToOne @JoinColumn(name = "workflowId") public WorkFlow getWorkFlow() { return workFlow; } public void setWorkFlow(WorkFlow workFlow) { this.workFlow = workFlow; } public String getTemplate() { return template; } public void setTemplate(String template) { this.template = template; } @OneToMany(mappedBy = "dynamicForm", cascade = { CascadeType.ALL }) @OrderBy("id ASC") public Set<DynamicField> getDynamicFields() { return dynamicFields; } public void setDynamicFields(Set<DynamicField> dynamicFields) { this.dynamicFields = dynamicFields; } @Override public String toString() { return "DynamicForm [id=" + id + ", template=" + template + "]"; } @Transient public DynamicField getDynamicField() { if (dynamicFields != null) { return dynamicFields.iterator().next(); } else { return null; } } }