package jef.orm.multitable2.model;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import jef.database.annotation.FieldOfTargetEntity;
import jef.database.annotation.JoinDescription;
@Entity()
public class Parent extends jef.database.DataObject {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE)
@SequenceGenerator(sequenceName="MAIN1", name = "id")
private int id;
private String name;
private Integer rootId;
@ManyToOne(targetEntity=Root.class)
@JoinColumn(name="rootId",referencedColumnName="id")
private Root root;
@OneToMany(targetEntity=Child.class)
@JoinColumn(name="id",referencedColumnName="parentId")
private List<Child> children;
private String code;
@ManyToOne(targetEntity=EnumationTable.class)
@JoinColumn(name="code",referencedColumnName="code")
@FieldOfTargetEntity("name")
@JoinDescription(filterCondition="type='2'")
private String codeText;
public Root getRoot() {
return root;
}
public List<Child> getChildren() {
return children;
}
public void setChildren(List<Child> children) {
this.children = children;
}
public void setRoot(Root root) {
this.root = root;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getRootId() {
return rootId;
}
public void setRootId(Integer rootId) {
this.rootId = rootId;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getCodeText() {
return codeText;
}
public void setCodeText(String codeText) {
this.codeText = codeText;
}
public enum Field implements jef.database.Field {
id, name, rootId, code
}
}