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 QueryDefinition and a JPQL string. OpenJPA provides a mechanism to convert a QueryDefinition to an equivalent JPQL query string via the extended OpenJPAQueryBuilder API.
public interface OpenJPAQueryBuilder extends QueryBuilder { /** * Gets equivalent JPQL String for the given QueryDefinition. */ public String toJPQL(QueryDefinition qdef); }