/*
 * Copyright (c) 2008, 2009, 2011 Oracle, Inc. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
 * which accompanies this distribution.  The Eclipse Public License is available
 * at http://www.eclipse.org/legal/epl-v10.html and the Eclipse Distribution License
 * is available at http://www.eclipse.org/org/documents/edl-v10.php.
 */
package javax.persistence;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.RetentionPolicy.RUNTIME;

Is used to map the columns specified in the SELECT list of the query to the properties or fields of the entity class.

Example:
  Query q = em.createNativeQuery(
      "SELECT o.id AS order_id, " +
          "o.quantity AS order_quantity, " +
          "o.item AS order_item, " +
        "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")})
      })
Since:Java Persistence 1.0
/** * Is used to map the columns specified in the SELECT list * of the query to the properties or fields of the entity class. * <p> * <pre> * * Example: * Query q = em.createNativeQuery( * "SELECT o.id AS order_id, " + * "o.quantity AS order_quantity, " + * "o.item AS order_item, " + * "FROM Order o, Item i " + * "WHERE (order_quantity &gt; 25) AND (order_item = i.id)", * "OrderResults"); * * &#064;SqlResultSetMapping(name="OrderResults", * entities={ * &#064;EntityResult(entityClass=com.acme.Order.class, fields={ * &#064;FieldResult(name="id", column="order_id"), * &#064;FieldResult(name="quantity", column="order_quantity"), * &#064;FieldResult(name="item", column="order_item")}) * }) * </pre> * * @since Java Persistence 1.0 */
@Target({}) @Retention(RUNTIME) public @interface FieldResult {
Name of the persistent field or property of the class.
Returns:name
/** * Name of the persistent field or property of the class. * * @return name */
String name();
Name of the column in the SELECT clause - i.e., column aliases, if applicable.
Returns:column
/** * Name of the column in the SELECT clause - i.e., column * aliases, if applicable. * * @return column */
String column(); }