@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.
|
public abstract java.lang.String name
public abstract java.lang.Class type
type
element is not specified, the default JDBC type
mapping for the column will be used.