package jef.orm.multitable2.model;
import java.util.Date;
import java.util.List;
import javax.persistence.Column;
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 Root extends jef.database.DataObject {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE)
@SequenceGenerator(sequenceName="MAIN1", name = "id")
@Column(name="ID1")
private int id;
@Column(name="THE_NAME",columnDefinition="Char",length=40)
private String name;
@Column(name="LAST_MODIFIED",columnDefinition="timestamp default current_timestamp")
@GeneratedValue
private Date lastModified;
private String code;
@ManyToOne(targetEntity=EnumationTable.class)
@JoinColumn(name="code",referencedColumnName="code")
@FieldOfTargetEntity("name")
@JoinDescription(filterCondition="type='1'")
private String codeText;
private int range;
public Root(){
}
public Root(int id) {
this.id = id;
}
public Date getLastModified() {
return lastModified;
}
public void setLastModified(Date lastModified) {
this.lastModified = lastModified;
}
@OneToMany(targetEntity=Parent.class)
@JoinColumn(name="id",referencedColumnName="rootId")
private List<Parent> children;
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 enum Field implements jef.database.Field {
id, name, lastModified,range,code
}
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 int getRange() {
return range;
}
public void setRange(int range) {
this.range = range;
}
public List<Parent> getChildren() {
return children;
}
public void setChildren(List<Parent> children) {
this.children = children;
}
public String toString(){
StringBuilder sb=new StringBuilder();
sb.append("id:").append(id).append(",");
sb.append("name:").append(name).append(",");
sb.append("children:").append(children).append(",");
return sb.toString();
}
}