我已經安裝了我的類,如下所示。 Hibernate ddl生成2個表Admin和Customer。根據SINGLE_TABLE策略,我預計只有一個表。Hibernate繼承Single_table
@MappedSuperclass
public abstract class BaseUser{
...
}
@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
public class Admin extends BaseUser{
...
}
@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
public class Customer extends BaseUser{
@OneToMany
private List<Order> orders;
...
}
我告訴過你......它與我發佈的內容基本相同(不包括默認配置)。閱讀我發佈的關於@MappedSuperclass的鏈接。它與你所追求的完全相反 - 每個子類都有一個單獨的表(每個都有超級類字段的列)。 –
不,不是。我嘗試了你的建議。即使我在超類上定義它,我也無法使用@MappedSuperclass使其工作。 –
這肯定是一個誤解。你問題中的代碼使用'@ MappedSuperclass',這是錯誤的。我的答案使用'@ Inheritance'(而不是'@ MappedSuperclass')來產生你需要的東西。在我對'@ MappedSuperclass'的回答中引用瞭解釋如何使用它以及爲什麼它不適合您的場景。 –