CriteriaQuery
interface defines functionality that is specific
* to top-level queries.
*
* @param Note: Applications using the string-based API may need to * specify the type of the select item when it results from * a get or join operation and the query result type is * specified. * *
* For example: * * CriteriaQuery<String> q = cb.createQuery(String.class); * Root<Order> order = q.from(Order.class); * q.select(order.get("shippingAddress").<String>get("state")); * * CriteriaQuery<Product> q2 = cb.createQuery(Product.class); * q2.select(q2.from(Order.class) * .join("items") * .<Item,Product>join("product")); * ** @param selection selection specifying the item that * is to be returned in the query result * @return the modified query * @throws IllegalArgumentException if the selection is * a compound selection and more than one selection * item has the same assigned alias */ CriteriaQuery
An argument to the multiselect method must not be a tuple- * or array-valued compound selection item. * *
The semantics of this method are as follows: *
CriteriaQuery<Tuple>
(i.e., a criteria
* query object created by either the
* createTupleQuery
method or by passing a
* Tuple
class argument to the
* createQuery
method), a Tuple
object
* corresponding to the arguments of the multiselect
* method, in the specified order, will be instantiated and
* returned for each row that results from the query execution.
*
* CriteriaQuery<X>
for
* some user-defined class X (i.e., a criteria query object
* created by passing a X class argument to the createQuery
* method), the arguments to the multiselect
method will be
* passed to the X constructor and an instance of type X will be
* returned for each row.
*
* 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
* arguments of the multiselect
method, in the
* specified order.
*
* CriteriaQuery<Object>
* or if the criteria query was created without specifying a
* type, and only a single argument is passed to the multiselect
* method, an instance of type Object
will be returned for
* each row.
*
* CriteriaQuery<Object>
* or if the criteria query was created without specifying a
* type, and more than one argument is passed to the multiselect
* method, an instance of type Object[]
will be instantiated
* and returned for each row. The elements of the array will
* correspond to the arguments to the multiselect
method,
* in the specified order.
* 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: *
CriteriaQuery<Tuple>
* (i.e., a criteria query object created by either the
* createTupleQuery
method or by passing a Tuple
class argument
* to the createQuery
method), a Tuple
object corresponding to
* the elements of the list passed to the multiselect
method,
* in the specified order, will be instantiated and returned for each
* row that results from the query execution.
*
* CriteriaQuery<X>
for
* some user-defined class X (i.e., a criteria query object
* created by passing a X class argument to the createQuery
* method), the elements of the list passed to the multiselect
* method will be passed to the X constructor and an instance
* of type X will be returned for each row.
*
* 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 the multiselect
method,
* in the specified order.
*
* CriteriaQuery<Object>
* or if the criteria query was created without specifying a
* type, and the list passed to the multiselect
method contains
* only a single element, an instance of type Object
will be
* returned for each row.
*
* CriteriaQuery<Object>
* or if the criteria query was created without specifying a
* type, and the list passed to the multiselect
method contains
* more than one element, an instance of type Object[]
will be
* instantiated and returned for each row. The elements of the
* array will correspond to the elements of the list passed to
* the multiselect
method, in the specified order.
* AbstractQuery
method.
* @param restriction a simple or compound boolean expression
* @return the modified query
*/
CriteriaQueryAbstractQuery
method.
* @param restrictions zero or more restriction predicates
* @return the modified query
*/
CriteriaQueryAbstractQuery
method.
* @param grouping zero or more grouping expressions
* @return the modified query
*/
CriteriaQueryAbstractQuery
method.
* @param grouping list of zero or more grouping expressions
* @return the modified query
*/
CriteriaQueryAbstractQuery
method.
* @param restriction a simple or compound boolean expression
* @return the modified query
*/
CriteriaQueryAbstractQuery
method.
* @param restrictions zero or more restriction predicates
* @return the modified query
*/
CriteriaQueryAbstractQuery
method.
* @param distinct boolean value specifying whether duplicate
* results must be eliminated from the query result or
* whether they must be retained
* @return the modified query.
*/
CriteriaQuery