javax.persistence
Annotation Type ColumnResult


@Target(value={})
@Retention(value=RUNTIME)
public @interface ColumnResult

References name of a column in the SELECT clause of a SQL query - 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")}
       )
 

Since:
Java Persistence 1.0
See Also:
SqlResultSetMapping

Required Element Summary
 java.lang.String name
          (Required) The name of a column in the SELECT clause of a SQL query
 
Optional Element Summary
 java.lang.Class type
          (Optional) The Java type to which the column type is to be mapped.
 

Element Detail

name

public abstract java.lang.String name
(Required) The name of a column in the SELECT clause of a SQL query

type

public abstract java.lang.Class type
(Optional) The Java type to which the column type is to be mapped.

Default:
void.class