javax.persistence
Annotation Type SqlResultSetMapping


@Target(value=TYPE)
@Retention(value=RUNTIME)
public @interface SqlResultSetMapping

This annotation is used to specify the mapping of the result of a native SQL query.

    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

Required Element Summary
 String name
          The name given to the result set mapping, and used to refer to it in the methods of the Query API.
 
Optional Element Summary
 ColumnResult[] columns
          Specifies the result set mapping to scalar values.
 EntityResult[] entities
          Specifies the result set mapping to entities.
 

Element Detail

name

public abstract String name
The name given to the result set mapping, and used to refer to it in the methods of the Query API.

entities

public abstract EntityResult[] entities
Specifies the result set mapping to entities.

Default:
{}

columns

public abstract ColumnResult[] columns
Specifies the result set mapping to scalar values.

Default:
{}


Submit a bug or feature

Copyright 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.