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> 代わりに関連付け。