package sk.nociar.jpacloner.entities;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.MapKey;
import javax.persistence.OneToMany;
@Entity
public class Node extends BaseEntity {
private String name;
@OneToMany(mappedBy = "parent")
@MapKey(name = "position")
private Map<Integer, Edge> children = new HashMap<Integer, Edge>();
@OneToMany(mappedBy = "child")
private Set<Edge> parents = new HashSet<Edge>();
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="foo_id")
private Foo foo;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="baz_id")
private Baz baz;
@Embedded
private Point point;
public Point getPoint() {
return point;
}
public void setPoint(Point point) {
this.point = point;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Map<Integer, Edge> getChildren() {
return children;
}
public void setChildren(Map<Integer, Edge> children) {
this.children = children;
}
public Set<Edge> getParents() {
return parents;
}
public void setParents(Set<Edge> parents) {
this.parents = parents;
}
public Foo getFoo() {
return foo;
}
public void setFoo(Foo foo) {
this.foo = foo;
}
public Baz getBaz() {
return baz;
}
public void setBaz(Baz baz) {
this.baz = baz;
}
}