Top Description Methods
javax.persistence

public @Interface ColumnResult

extends Annotation
Annotations
@Target
@Retention:RUNTIME
Imports
java.lang.annotation.Target, .Retention

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

Method Summary

Modifier and TypeMethod and Description
public String
name()

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

public Class<T>
type()

(Optional) The Java type to which the column type is to be mapped.

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString

Method Detail

nameback to summary
public String name()

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

typeback to summary
public Class<T> 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