javax.persistence

## Annotation Type ColumnResult

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

  Used in conjunction with the `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")}
             )

  Since:
    Java Persistence 1.0
  See Also:
    `SqlResultSetMapping`

- - ### Required Element Summary

    Required Elements
    Modifier and Type | Required Element and Description
    --- | ---
    `String` | `name` (Required) The name of a column in the SELECT clause of a SQL query

  - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `Class` | `type` (Optional) The Java type to which the column type is to be mapped.

- - ### Element Detail

    - #### name

          public abstract String name

      (Required) The name of a column in the SELECT clause of a SQL query

    - #### type

          public abstract Class type

      (Optional) The Java type to which the column type is to be mapped. If the `type` element is not specified, the default JDBC type mapping for the column will be used.
      Since:
        Java Persistence 2.1
      Default:
        void.class

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.