パッケージ jakarta.persistence
アノテーション型 ConstructorResult
@TargetSE({}) @RetentionSE(RUNTIMESE) public @interface ConstructorResult
SqlResultSetMapping
アノテーションと組み合わせて使用して、SQL クエリの SELECT 句をコンストラクターにマッピングします。ターゲットクラスのコンストラクターを適用し、指定された列から値を引数として渡します。目的のコンストラクターの引数に対応するすべての列は、コンストラクターの引数リストと同じ順序で
ConstructorResult
アノテーションのcolumns
要素を使用して指定する必要があります。コンストラクターの結果として返されるエンティティは、構築されたオブジェクトの主キーが取得されるかどうかに応じて、新しい状態または切り離された状態になります。Example: Query q = em.createNativeQuery( "SELECT c.id, c.name, COUNT(o) as orderCount, AVG(o.price) AS avgOrder " + "FROM Customer c, Orders o " + "WHERE o.cid = c.id " + "GROUP BY c.id, c.name", "CustomerDetailsResult"); @SqlResultSetMapping( name="CustomerDetailsResult", classes={ @ConstructorResult( targetClass=com.acme.CustomerDetails.class, columns={ @ColumnResult(name="id"), @ColumnResult(name="name"), @ColumnResult(name="orderCount"), @ColumnResult(name="avgOrder", type=Double.class) } ) } )
- 導入:
- 2.1
- 関連事項:
SqlResultSetMapping
,ColumnResult
必須定数のサマリー
必須要素 修飾子と型 必須要素 説明 ColumnResult[]
columns
(必須)SELECT リストの列を、目的のコンストラクターの引数に順番にマッピングします。ClassSE
targetClass
(必須)コンストラクターが呼び出されるクラス。
要素の詳細
targetClass
ClassSE targetClass
(必須)コンストラクターが呼び出されるクラス。
columns
ColumnResult[] columns
(必須)SELECT リストの列を、目的のコンストラクターの引数に順番にマッピングします。