Annotation Type ColumnResult


@Target({}) @Retention(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:
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    (Required) The name of a column in the SELECT clause of a SQL query
  • Element Details

    • name

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