Annotation Interface EntityResult


@Target({}) @Retention(RUNTIME) public @interface EntityResult
Used in conjunction with the SqlResultSetMapping or NamedNativeQuery annotation to map the SELECT clause of a SQL query to an entity result.

If this annotation is used, the SQL statement should select all the columns that are mapped to the entity object. This should include foreign key columns to related entities. The results obtained when insufficient data is available are undefined.

Example:

Query q = em.createNativeQuery(
    "SELECT o.id, o.quantity, o.item, " +
        "i.id, i.name, i.description " +
      "FROM Order o, Item i " +
      "WHERE (o.quantity > 25) AND (o.item = i.id)",
    "OrderItemResults");

@SqlResultSetMapping(
    name = "OrderItemResults",
    entities = {
        @EntityResult(entityClass = com.acme.Order.class),
        @EntityResult(entityClass = com.acme.Item.class)
    }
)
Since:
1.0
See Also:
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    The class of the result.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Specifies the column name (or alias) of the column in the SELECT list that is used to determine the type of the entity instance.
    Maps the columns specified in the SELECT list of the query to the properties or fields of the entity class.
    The lock mode obtained by the SQL query.
  • Element Details

    • entityClass

      Class<?> entityClass
      The class of the result.
    • lockMode

      LockModeType lockMode
      The lock mode obtained by the SQL query.
      Since:
      3.2
      Default:
      OPTIMISTIC
    • fields

      FieldResult[] fields
      Maps the columns specified in the SELECT list of the query to the properties or fields of the entity class.
      Default:
      {}
    • discriminatorColumn

      String discriminatorColumn
      Specifies the column name (or alias) of the column in the SELECT list that is used to determine the type of the entity instance.
      Default:
      ""