2.2. パート2 - 関連のマッピング


これまで、 単一の永続エンティティクラスを分離されたテーブルにマッピングしました。 これにクラスの関連を追加してみましょう。 アプリケーションに人物を追加し、 人物が参加するイベントのリストを保存します。

2.2.1. Person クラスのマッピング

Person クラスの最初の部分は次のようになります。
package org.hibernate.tutorial.domain;

public class Person {

    private Long id;
    private int age;
    private String firstname;
    private String lastname;

    public Person() {}

    // Accessor methods for all properties, private setter for 'id'

}
これを src/main/java/org/hibernate/tutorial/domain/Person.java というファイルに保存します。
次に、 src/main/resources/org/hibernate/tutorial/domain/Person.hbm.xml という新しいマッピングファイルを作成します。
<hibernate-mapping package="org.hibernate.tutorial.domain">

    <class name="Person" table="PERSON">
        <id name="id" column="PERSON_ID">
            <generator class="native"/>
        </id>
        <property name="age"/>
        <property name="firstname"/>
        <property name="lastname"/>
    </class>

</hibernate-mapping>
最後に、Event.hbm.xmlの既存のマッピングのすぐ後に、Hibernateの設定に新たなマッピングを追加します。
<mapping resource="events/Event.hbm.xml"/>
<mapping resource="events/Person.hbm.xml"/>
これら 2 つのエンティティ間の関連を作成します。 人物はイベントに参加でき、 イベントには参加者がいます。 ここで対応しなければならない設計上の問題は、 指向性、 多重度、 コレクション動作です。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る