Criteria API has provided an alternative means to string-based JPQL to execute a query. However, JPA 2.0 Specification has not explicitly specified any equivalence between a dynamically constructed CriteriaQuery and a JPQL string. OpenJPA provides a mechanism to convert a CriteriaQuery to an equivalent JPQL query string via the extended OpenJPACriteriaQuery API.
public interface OpenJPACriteriaQuery extends CriteriaQuery { /** * Gets equivalent JPQL String for the given CriteriaQuery. */ public String toCQL(); }