質問

Hibernate JPAを使用しています。

私がこれらのクラスを持っているとします:

AbstractPerson
|--> ConcreteEmployee
|--> ConcreteCustomer

具体的なクラスに独立したIDを持つようにする方法はありますか?

internitAnceType.table_per_classを使用しています。

役に立ちましたか?

解決

Hibernate Annotationsリファレンスガイドから:

2.2.4.1。クラスごとにテーブル

この戦略には、JPA仕様、Hibernateリファレンスドキュメント、Hibernate in Action、その他多くの場所で説明されている多くの欠点があります(特に多型クエリと関連性)。冬眠は彼らのほとんどを回避し、この戦略を使用してこの戦略を実装しています SQL UNION クエリ。一般に、相続階層の最上位レベルに使用されます。

@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class Flight implements Serializable { ... } 

この戦略は、それらが双方向であることを条件に、1対多数の協会をサポートします。 この戦略はサポートしていません IDENTITY ジェネレーター戦略:IDは、いくつかのテーブルで共有する必要があります。したがって、この戦略を使用する場合、使用しないでください AUTO または IDENTITY.

だから私はあなたが望むものがサポートされていないのではないかと心配しています(そして私は使用することをお勧めします GenerationType.TABLE).

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top