The JPA Criteria API supports dynamic definition of JPQL queries using CriteriaBuilderjavax.persistence.criteria.CriteriaBuilderJPA interfaceUsed to construct criteria queries, compound selections, expressions, predicates, orderings.See JavaDoc Reference Page... as a factory.
ObjectDB supports dynamic definition of JPQL queries as strings.
Support of the new JPA 2 Criteria API in expected in future versions.
ObjectDB - Fast Object Database for Java (JPA/JDO)