package org.hibernate.test.annotations.genericsinheritance;
import java.util.HashMap;
import java.util.Map;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.MapKey;
import javax.persistence.MappedSuperclass;
import javax.persistence.OneToMany;
@MappedSuperclass
public abstract class Parent<C extends Child> {
@Id @GeneratedValue Long id;
@MapKey @OneToMany(mappedBy="parent") Map<Long,C> children = new HashMap<Long,C>();
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Map<Long,C> getChildren() {
return children;
}
public void setChildren(Map<Long,C> children) {
this.children = children;
}
}