CriteriaQuery<T> multiselect(
List<Selection<?>> selectionList
)
Specify the selection items that are to be returned in the query result. Replaces the previously specified selection(s), if any.
The type of the result of the query execution depends on the specification of the type of the criteria query object created as well as the argument to the multiselect
method. An element of the list passed to the multiselect
method must not be a tuple- or array-valued compound selection item.
The semantics of this method are as follows:
- If the type of the criteria query is
CriteriaQuery<Tuple>
(i.e., a criteria query object created by either thecreateTupleQuery
method or by passing aTuple
class argument to thecreateQuery
method), aTuple
object corresponding to the elements of the list passed to themultiselect
method, in the specified order, will be instantiated and returned for each row that results from the query execution. - If the type of the criteria query is
CriteriaQuery<X>
for some user-defined class X (i.e., a criteria query object created by passing a X class argument to thecreateQuery
method), the elements of the list passed to themultiselect
method will be passed to the X constructor and an instance of type X will be returned for each row. - If the type of the criteria query is
CriteriaQuery<X[]>
for some class X, an instance of type X[] will be returned for each row. The elements of the array will correspond to the elements of the list passed to themultiselect
method, in the specified order. - If the type of the criteria query is
CriteriaQuery<Object>
or if the criteria query was created without specifying a type, and the list passed to themultiselect
method contains only a single element, an instance of typeObject
will be returned for each row. - If the type of the criteria query is
CriteriaQuery<Object>
or if the criteria query was created without specifying a type, and the list passed to themultiselect
method contains more than one element, an instance of typeObject[]
will be instantiated and returned for each row. The elements of the array will correspond to the elements of the list passed to themultiselect
method, in the specified order.
- Parameters:
selectionList
- list of selection items corresponding to the results to be returned by the query
- Return:
- the modified query
- Throws:
- IllegalArgumentException - if a selection item is not valid or if more than one selection item has the same assigned alias
- Since:
- JPA 2.0