SqlResultSetMapping or NamedNativeQuery annotation to map the SELECT clause of a SQL query to an entity result.">
Jakarta Persistence (JPA) Annotation Type

jakarta.persistence.EntityResult

Implemented Interfaces:
Annotation

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)
     }
 )
See Also:
Since:
Jakarta Persistence (JPA) 1.0

Annotation Elements

Class<?> entityClass
The class of the result.
Since:
Jakarta Persistence (JPA) 1.0
The lock mode obtained by the SQL query.
Default:
LockModeType.OPTIMISTIC
Since:
Jakarta Persistence (JPA) 3.2
Maps the columns specified in the SELECT list of the query to the properties or fields of the entity class.
Default:
{}
Since:
Jakarta Persistence (JPA) 1.0
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:
""
Since:
Jakarta Persistence (JPA) 1.0

Additional JDK methods inherited from java.lang.annotation.Annotation

annotationType(), equals(Object), hashCode(), toString()