The support for Criteria API as per the public draft version of JPA 2.0 specification is available.
The basic approach reuses the existing kernel's capability to support JPQL by converting QueryDefinition to corresponding JPQL String, so the resultant JPQL string is executed as usual by the kernel.
The JPA 2.0 Specification has not yet mandated any equivalence (string based or otherwise) between a QueryDefinition and a JPQL string. But an extended OpenJPAQueryBuilder provides such a conversion from a QueryDefinition to a JPQL string.
The support is available for all constructs defined in Criteria API including new JPQL features such as KEY(), VALUE() or CASE statements. However, implementation of some of these new capabilities in the kernel's query engine is still in progress.
Preliminary documentation has also been added. Due to the evolving status of the specification in this regard, the documentation mainly refers to the public draft version of the specification for details.