With the completion of iteration 10, OpenJPA includes several additional JPA 2.0 features and bug fixes. Here is a summary of the new features provided by OpenJPA:
- Support for the Criteria and Metamodel API. The Criteria and Metamodel API can be used in conjunction to create and execute strongly-typed programmatic queries.
- Metamodel source file generation. OpenJPA provides tooling to generate metamodel source classes.
- Support for the TypedQuery and Tuple interfaces. These interfaces are provided to manipulate typed queries and their results.
- Automatic setting of compatibility options based upon persistence version. Compatibility options are configured based on persistence version to provide backward compatibility for OpenJPA version 1.x applications.
- Support for naming of unique constraints.
- Lob, Temporal, and Enumeration can now be specified on element collections.
- JPQL now supports multiple constructors in the query projection list.
- Support for the shared-cache-mode element in the persistence.xml. Provides configuration/enablement options for L2 cache.
- Support for Cacheable annotation and CacheStoreMode/CacheRetriveMode properties. Allows per class configuration of L2 cacheing and per-operation tuning of cache behavior.
- Database updates including updates for Derby reserved words, usage of a new version of commons-pool and commons-dbcp, and a new Derby network server test profile.
- Support for JDBC date, time, and timestamp literals within JPQL and Criteria queries.