@Target(value={})
@Retention(value=RUNTIME)
public @interface ColumnResult
SqlResultSetMapping annotation or
ConstructorResult annotation to map a column of the SELECT
list of a SQL query.
The name element references the name of a column in the SELECT list
— i.e., column alias, if applicable. Scalar result types can be
included in the query result by specifying this annotation in
the metadata.
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")}
)
SqlResultSetMapping| Modifier and Type | Required Element and Description |
|---|---|
java.lang.String |
name
(Required) The name of a column in the SELECT clause of a SQL query
|
| Modifier and Type | Optional Element and Description |
|---|---|
java.lang.Class |
type
(Optional) The Java type to which the column type is to be mapped.
|