/** * */ package org.activejpa.entity; 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.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; /** * @author ganeshs * */ @Entity public class DummyModel extends Model { private Long id; private String column1; private String column2; private String column3; private Set<DummyModel> children = new HashSet<DummyModel>(); private DummyModel parent; public DummyModel() { } /** * @return the parent */ @ManyToOne(fetch=FetchType.LAZY, cascade=CascadeType.ALL) @JoinColumn(name="parent_id") public DummyModel getParent() { return parent; } /** * @param parent the parent to set */ public void setParent(DummyModel parent) { this.parent = parent; } /** * @return the children */ @OneToMany(fetch=FetchType.LAZY) @JoinColumn(name="parent_id") public Set<DummyModel> getChildren() { return children; } /** * @param children the children to set */ public void setChildren(Set<DummyModel> children) { this.children = children; } public void addChild(DummyModel child) { child.parent = this; this.children.add(child); } @Override @Id @GeneratedValue(strategy=GenerationType.AUTO) public Long getId() { return id; } public String getColumn1() { return column1; } public void setColumn1(String column1) { this.column1 = column1; } public String getColumn2() { return column2; } public void setColumn2(String column2) { this.column2 = column2; } public String getColumn3() { return column3; } public void setColumn3(String column3) { this.column3 = column3; } public void setId(Long id) { this.id = id; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((id == null) ? 0 : id.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; DummyModel other = (DummyModel) obj; if (id == null) { if (other.id != null) return false; } else if (!id.equals(other.id)) return false; return true; } }