我试图在Hibernate,JPA中实现以下图表.

我试着用这种方式实现它.
对于农场
@Entity
public class Farm implements Serializable{
@OneToMany(mappedBy = "farm", cascade = { CascadeType.ALL }, targetEntity=AbstractAnimals.class, fetch=FetchType.LAZY)
private List<AbstractAnimal> animals = new ArrayList<AbstractAnimals>();
}
Run Code Online (Sandbox Code Playgroud)
对于抽象的Annimal
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class AbstractAnimal implements Serializable{
@Id
private int id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "farmId", nullable = false)
private Farm farm;
... other attributes and getter and setter
}
Run Code Online (Sandbox Code Playgroud)
对于抽象哺乳动物
@MappedSuperClass
public abstract class AbstractMammalian extends AbstractAnimal implements Serializable{
... other attributes and getter and setter
}
Run Code Online (Sandbox Code Playgroud)
对于所有的动物 …