Annotation Type SqlResultSetMapping


  • @Repeatable(SqlResultSetMappings.class)
    @Target(TYPE)
    @Retention(RUNTIME)
    public @interface SqlResultSetMapping
    Specifies the mapping of the result of a native SQL query or stored procedure.
        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:
    Query, StoredProcedureQuery, NamedNativeQuery, NamedStoredProcedureQuery
    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      String name
      The name given to the result set mapping, and used to refer to it in the methods of the Query and StoredProcedureQuery APIs.
      • entities

        EntityResult[] entities
        Specifies the result set mapping to entities.
        Default:
        {}
      • classes

        ConstructorResult[] classes
        Specifies the result set mapping to constructors.
        Since:
        2.1
        Default:
        {}
      • columns

        ColumnResult[] columns
        Specifies the result set mapping to scalar values.
        Default:
        {}