JPOX provides transparent persistence of Java objects. It fully complies with the JDO1.0/JDO2.0/JDO2.1/JPA1 specifications. It supports persistence to all of the major RDBMSs on the market today, as well as DB4O. It allows querying using JDOQL, SQL, or JPQL. It comes with its own byte-code enhancer. Its 1.1 release is Sun's "Reference Implementation" (RI) for JDO2.0, and its 1.2 release is the RI for JDO2.1. It is highly extensible, using OSGi technology and providing a wide range of value-adding plugins.
| Tags | Database Database Engines/Servers Software Development Libraries Java Libraries |
|---|---|
| Operating Systems | OS Independent |
| Implementation | Java |
Recent releases


Changes: Some issues with detachment have been fixed. Support for the SCO List.remove(int) method has been made consistent. Behavior of SCO Maps have been made consistent for the instantiation type. Use of application identity where the PK was not at the start of the class has been fixed. Identity generation in non-default schema for PostgreSQL has been improved. This is likely the final release of JPOX, and future development is under the name "DataNucleus".


Changes: A bug in value generation was fixed. The specification of persistence properties was rewritten to allow future flexibility. A timestamp value generator was added. An option was added to SchemaTool to support package.jdo in jar files. Bugs were fixed in the plugin registry for Oracle AS and WebSphere. Support was added for common DB4O properties. Support for Informix was improved. A bug was fixed with non-tx use of queries. RDBMS support was changed to default to using connection pooling if in CLASSPATH.


Changes: Two memory leaks were fixed. A bug was fixed in the generation of values. A significant performance improvement was made in the attachment of large object graphs where an object reference is present in more than one place. Support for DB4O Native queries was added. A bugfix was made to DB4O support for application identity.


Changes: JDO2.1 and JPA1 TCKs were passed. JMX integration was changed to only be enabled when selected. Some problems in JTA transaction handling were fixed. Support for use of Enums in queries was extended. Support for JPQL subqueries that have a candidate relating to the outer query was added. DB4O JDOQL querying was fixed so that all returned objects were managed. Several other bugs were fixed.


Changes: Support for JDOQL and JPQL subqueries has been added along with support for JPQL IN, ESCAPE, TRIM, CURRENT_DATE, CURRENT_TIME, and CURRENT_TIMESTAMP. JPOX extensions have been added to allow more control over generated SQL for problematic JDOQL queries. Several bugs have been fixed. Full compliance with JDO2.1 has been achieved.