sql >> データベース >  >> RDS >> Oracle

2つのテーブルを1つのクラスにHibernateマッピングする

    1つのクラスを2つ(またはそれ以上)の別々のテーブルにマップするには、 @ SecondaryTable 注釈:

    @Table(name="ROOMS")
    @SecondaryTable(name="TRAINERS", pkJoinColumns={
        @PrimaryKeyJoinColumn(name="TRSC_OOC_UNIT_ID", referencedColumnName="OOC_UNIT_ID"),
        @PrimaryKeyJoinColumn(name="TRSC_OOC_START_DT", referencedColumnName="OOC_START_DT"),
        @PrimaryKeyJoinColumn(name="TRSC_OOC_START_TM", referencedColumnName="OOC_START_TM")
    })
    public class MyMergedEntity {
    

    次に、TRAINERSにマップされた個々のプロパティに注釈を付ける必要があります @Column(table="TRAINERS")のテーブル それが属するテーブルを指定します。代わりにXMLマッピングを使用している場合は、上記のすべてを参加 要素。

    とはいえ、2つのテーブルは性質がかなり異なり、単一のクラスにマップするべきではないように思われます(特に、ROOMSを既にマップしていると言っているため) 他の場所)。おそらく、トレーナーをManyToOne<としてマップする必要があります。 / a> 代わりに関連付け。



    1. ページを更新せずにセッションの有効期限が切れた後にデータベースを自動的に更新する方法

    2. Doctrine2でグループ内で注文する

    3. PLS-00402:列名の重複を避けるためにカーソルのSELECTリストにエイリアスが必要です

    4. データをmysqlの列に分割します