Annotation Type ColumnResult


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

      Required Elements 
      Modifier and Type Required Element 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 Description
      Class type
      (Optional) The Java type to which the column type is to be mapped.
    • Element Detail

      • name

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

        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:
        2.1
        Default:
        void.class