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
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionSpecifies 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<?> entityClassThe class of the result. -
lockMode
LockModeType lockModeThe lock mode obtained by the SQL query.- Since:
- 3.2
- Default:
OPTIMISTIC
-
fields
FieldResult[] fieldsMaps the columns specified in the SELECT list of the query to the properties or fields of the entity class.- Default:
{}
-
discriminatorColumn
String discriminatorColumnSpecifies the column name (or alias) of the column in the SELECT list that is used to determine the type of the entity instance.- Default:
""
-