@Target(value={})
@Retention(value=RUNTIME)
public @interface ColumnResult
SqlResultSetMappingアノテーションもしくはConstructorResultアノテーションと共に使用します。
name要素はSELECTリスト内のカラムの名前(該当する場合はカラムのエイリアス)を参照します。
このアノテーションをメタデータで指定することでスカラー結果型をクエリーの結果に含めることができます。
Example:
Query q = em.createNativeQuery(
"SELECT o.id AS order_id, " +
"o.quantity AS order_quantity, " +
"o.item AS order_item, " +
"i.name AS item_name, " +
"FROM Order o, Item i " +
"WHERE (order_quantity > 25) AND (order_item = i.id)",
"OrderResults");
@SqlResultSetMapping(name="OrderResults",
entities={
@EntityResult(entityClass=com.acme.Order.class, fields={
@FieldResult(name="id", column="order_id"),
@FieldResult(name="quantity", column="order_quantity"),
@FieldResult(name="item", column="order_item")})},
columns={
@ColumnResult(name="item_name")}
)
SqlResultSetMappingTranslated by @megascus.