我有一個類結構,如:爪哇 - JPA:如何創建一個表中的每個子類,而不是超?
abstract class A {
String a;
}
class B extends A {
String b;
}
class C extends A {
String c;
}
現在我想JPA創建一個表中的每個子類。
我已經看過以前的一些問題,但我很困惑。我如何映射這些類?
我有一個類結構,如:爪哇 - JPA:如何創建一個表中的每個子類,而不是超?
abstract class A {
String a;
}
class B extends A {
String b;
}
class C extends A {
String c;
}
現在我想JPA創建一個表中的每個子類。
我已經看過以前的一些問題,但我很困惑。我如何映射這些類?
如果A是因爲映射的繼承爲什麼不標註A類和你不需要單獨的實體,您可以把它定義爲MappedSuperClass。映射超類僅用於繼承映射,您不能查詢它。
在是否需要真正的繼承另一方面 - 根據有關實施 - 你可以去table per (concrete) class繼承策略。對此策略的支持是可選的,因此不保證與所有實現一起工作。它至少支持與新鮮的版本
在你的情況需要的步驟將是再添加以下的A類:@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
我剛剛閱讀了關於MappedSuperClass。謝謝你的答案。 – 2012-03-24 16:35:29
與@MappedSuperclass使用表子類或表混凝土類inhertience戰略
看看這個博客帖子:http://uaihebert.com/?p=617 – SHiRKiT 2012-03-24 16:03:42
非常感謝你許多。有什麼辦法只爲子類創建表? – 2012-03-24 16:19:25