Каков наилучший способ управления общей коллекцией с помощью подстановочных знаков в сопоставлении Hibernate? Например, у меня есть классы ComponentParent
, ComponentChild
и Container
. Если я пытаюсь пример ниже, я получаю ошибку:Общая коллекция с подстановочным знаком и Hibernate
Caused by: org.hibernate.AnnotationException: Collection has neither generic type or OneToMany.targetEntity() defined
Субъектами являются
@Entity
@Inheritance
@DiscriminatorColumn(name = "TYPE")
@Table(name = "COMPONENT")
class abstract ComponentParent {
private Long id;
...
}
@Entity
@DiscriminatorValue(name = "CHILD")
class ComponentChild extends ComponentParent {
...
}
@Entity
@Table(name = "CONTAINER")
class abstract Container {
private Long id;
@OneToMany
@JoinColumn(name = "containerId")
private List<? extends ComponentParent> components;
}
@Entity
@DiscriminatorValue("CONC")
class ConcreteContainer {
public List<ChildComponents> getComponents() {
return components;
}
}
Привет, вы правы. ComponentChild расширяет ComponentParent (я исправил его). Я обновил вопрос так, как я хочу иметь дело с типом объекта. Я хочу реализовать Container, который знает о конкретном типе компонента. –