Я хочу сохранить свой маленький зоопарк с Hibernate:
@Entity
@Table(name = "zoo")
public class Zoo {
@OneToMany
private Set<Animal> animals = new HashSet<Animal>();
}
// Just a marker interface
public interface Animal {
}
@Entity
@Table(name = "dog")
public class Dog implements Animal {
// ID and other properties
}
@Entity
@Table(name = "cat")
public class Cat implements Animal {
// ID and other properties
}
Когда я пытаюсь сохранить зоопарк, Hibernate жалуется:
Use of @OneToMany or @ManyToMany targeting an unmapped class: blubb.Zoo.animals[blubb.Animal]
Я знаю о targetEntity
-свойстве @OneToMany
, но это означало бы, что только собаки или кошки могут жить в моем зоопарке.
Есть ли способ сохранить коллекцию интерфейса, имеющего несколько реализаций, в Hibernate?