マップされたスーパークラス

マップされたスーパークラス」クラスを拡張するエンティティーは、スーパークラスからパーシスタント状態とマッピング情報を継承します。複数のエンティティー・クラスで共通するマッピング情報を定義するには、マップされたスーパークラスを使用する必要があります。

マップされたスーパークラスは、以下のようになります

マップされたスーパークラスでは、以下のことはできません。

マップされたスーパークラスは定義済みのデータベース・テーブルを持っていません。その代わり、マッピング情報はスーパークラスから派生しています。特定サブクラスについてのマッピング情報をオーバーライドするには、その特定クラスの @AttributeOverride 注釈を使用します。

マップされたスーパークラスは @MappedSuperclass の注釈で識別されます。

マップされたスーパークラスのパーシスタンスを既存のエンティティーに追加するには、以下の手順を使用します。

  1. Java クラスをプロジェクト・エクスプローラーから開きます。

  2. 「JPA の構造」ビューでクラスを選択します。

  3. 「JPA の詳細」ビューで、マッピング型のハイパーリンクをクリックし、「マッピング型の選択」ダイアログにアクセスします。

  4. マップされたスーパークラス」を選択し、「OK」をクリックします。

    「マッピング型の選択」ダイアログ (マップされたスーパークラス)

    「マップされたスーパークラス」が選択されている「マッピング型の選択」ダイアログ。
  5. 「JPA の詳細」ビュー (エンティティー用) の残りの部分を入力します。

 

関連タスク

クラスへのパーシスタンスの追加
追加テーブルの指定
エンティティーの継承の指定