0
我正在努力實現兩個類層次之間的雙向多對一映射。與子類和泛型的雙向多對一
我有以下幾點:
超類Queue
,與子類AQueue
,BQueue
,CQueue
。 超類Element
,其子類爲AElement
,BElement
,CElement
。
AQueue
有AElement
列表,BQueue
有BElement
列表,等等,AElement
有AQueue
等。
我已經試過這樣的事情:
@Entity
@Inheritance(strategy InheritanceType.SINGLE_TABLE)
public abstract class Queue<T extends Element> {
@OneToMany(mappedBy="queue")
private List<T> elements = new ArrayList<>();
//...
}
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Element<T extends Element> {
@ManyToOne
@JoinColumn("queue_id")
private Queue<T> queue;
}
只有有Hibernate
抱怨mappedBy reference an unknown target entity property
。
有沒有辦法在使用泛型的超類中映射這種關係,還是我必須選擇每個保持一種關係的子類對?
'Queue'和'Element'類是抽象的還是可以與A,B和C子類一起存在?由於您將'Element'轉換爲泛型類,因此您的聲明可能應該是'class Queue>'class class >' –
它們是抽象的,忘記將其添加到示例類..會修復。 – Tobb
我仍然會接受您提出的更改。 – Tobb