Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス 12c (12.1.2) E48005-01 |
|
![]() 前 |
![]() 次 |
@Structを使用して、データベースのStruct
型にマップするクラスを定義します。通常、埋込み可能クラスである必要がありますが、オブジェクト表に格納される場合はエンティティも可能です。
注釈要素
表2-64は、この注釈の要素を示しています。
表2-64 @Structの注釈要素
注釈要素 | 説明 | デフォルト |
---|---|---|
|
(必須)データベース構造型のデータベース名。 |
|
|
(オプション)データベース構造型に含まれるフィールドの順序を定義します。 |
使用方法
Struct
型は、一部のデータベースでサポートされる拡張オブジェクト・リレーショナル・データ型です。Struct型は、OracleのOBJECT
型など、データベースのユーザー定義型です。Structには通常、Arrays (VARRAY
)型またはその他のStruct型が含まれ、Structは列または表に格納できます。
Struct
型を使用して、Oracle DatabaseでRECORD
型を使用するPL/SQLストアド・プロシージャをコールすることもできます。
例
例2-103に、@Struct
注釈を使用してOBJECT
型にマップするJavaクラスを定義する方法を示します。
例2-103 @Struct注釈の使用
@Embeddable
@Struct(name="EMP_TYPE", fields={"F_NAME", "L_NAME", "SALARY"})
public class Employee {
@Column(name="F_NAME")
private String firstName;
@Column(name="L_NAME")
private String lastName;
@Column(name="SALARY")
private BigDecimal salary;
...
}
例2-104に、eclipselink-orm.xml
ファイルの<struct>
要素を使用する方法を示します。
例2-104 <struct> XMLの使用
<embeddable class="Address" access="FIELD"> <struct name="PLSQL_P_PLSQL_ADDRESS_REC"> <field>ADDRESS_ID</field> <field>STREET_NUM</field> <field>STREET</field> <field>CITY</field> <field>STATE</field> </struct> <attributes> <basic name="id"> <column name="ADDRESS_ID"/> </basic> <basic name="number"> <column name="STREET_NUM"/> </basic> </attributes> </embeddable>
関連項目
詳細は、次を参照してください。