Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス 12c (12.1.2) E48005-01 |
|
![]() 前 |
![]() 次 |
@CompositeMember
を使用して、クラスがコンポジット永続性ユニットに属すことを示します。
ターゲット・タイプがプリミティブ型であり、かつ、ソース・コンポジット・メンバー永続性ユニット以外のコンポジット・メンバー永続性ユニットに属する表が@CollectionTable
によって指定される場合に使用します。これにより、ソースおよびターゲットを様々なデータベースにマップできます。
注釈要素
表2-12は、この注釈の要素を示しています。
表2-12 @CompositeMemberの注釈要素
注釈要素 | 説明 | デフォルト |
---|---|---|
|
要素表が属するターゲット・コンポジット・メンバー永続性ユニットの名前(ソース・コンポジット・メンバー永続性ユニットと異なる場合) |
使用方法
@CompositeMember
注釈は、コンポジット・メンバー永続性ユニットにない場合は無視されます。@ElementCollection
注釈および@CollectionTable
注釈とともに使用される場合があります。
例
次の例に示すとおり、注釈またはeclipselink-orm.xml
ファイルを使用してCompositeMember
を構成できます。
例2-27 @CompositeMember注釈の使用
@ElementCollection()
@CollectionTable(name = "MBR1_RESPONS", joinColumns=@JoinColumn(name="EMP_ID"))
@CompositeMember("branch-database")
@Column(name = "DESCRIPTION")
public Collection<String> getResponsibilities() {
return responsibilities;
}
例2-28 <composite-member> XMLの使用
<element-collection name="responsibilities" composite-member="branch-database">
<column name="DESCRIPTION"/>
<collection-table name="XML_MBR3_RESPONS">
<join-column name="EMP_ID"/>
</collection-table>
</element-collection>
関連項目
詳細は、次を参照してください。
『Oracle TopLinkソリューション・ガイド』の複数のデータベースとコンポジット永続性ユニットの使用に関する項