JPA Method
in javax.persistence.criteria.CriteriaQuery

CriteriaQuery<T> select(
  Selection<?extendsT> selection
)


Specify the item that is to be returned in the query result. Replaces the previously specified selection(s), if any.

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"));
Parameters:
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
Since:
JPA 2.0