A QueryDefinition is executed in a similar fashion of a string-based JPQL query via the EntityManager and Query interfaces.
EntityManager em = ... Query query = em.createQuery(qdef); List result = query.getResultList();
A query definition can use named parameters, and the parameter values are set as usual in the Query instance.
The JPA 2.0 Specification on Criteria API is evolving and hence for an up-to-date version of the API, please consult the public draft.