我有這樣的事情..多態「GET」使用Hibernate,多對一,InheritanceType.JOINED
有許多座位一個座位汽車類。座椅有一個子類LeatherSeat。
public class Car {
private Seat seat;
...
@ManyToOne(fetch = FetchType.LAZY)
public Seat getSeat() {
return seat;
}
...
}
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public class Seat {
private String id;
private String color;
}
@Entity
public class LeatherSeat extends Seat {
private String leatherType;
}
當我創建我的車,讓我的車的座位上LeatherSeat它保存了所有正確的數據庫。當我想要獲得我的汽車(使用標準或查詢列表)並閱讀getSeat()時,座椅總是座椅,從不是皮革座椅。我不能施放(例外)並且看起來必須通過id手動獲取LeatherSeat。
這是使用連接繼承型還是我失去了一些東西的限制。我如何獲得座椅作爲皮革座椅?