|
Java Persistent Objects (JPOX) version 1.2 takes the JDO1/JDO2 compliance of JPOX 1.1 and moves it forward
complying with the JPA1, JDO2.1 specifications. This page defines the main changes that you
will see in JPOX 1.2 and how you can adapt your application to take advantage of the new features.
- JPA1 : Support for EntityManagerFactory and
EntityManager to provide JPA persistence
- JPA1 : Support for JPA1 MetaData
- JPA1 : Upgraded support for JPA1 annotations
- JPA1 : Support for JPA1 Event Listeners
- JPA1 : Support for JPA1 Versioning of entities
- JPA1 : Added support for persistence of "ordered Lists" (used in JPA where the indices of the elements
is not persisted and instead you retrieve the elements in a particular order).
- JPA1 : Support for JPQL
- JPA1/JDO2.1 : Support for "persistence.xml". This is used by
JPA1 to specify the classes and mapping files for a part of an applications persistence, to group
common data objects.
- JDO 2.1 : Complete support for JDO annotations.
Please check the documentation for which annotations have changed since JPOX 1.1
- JDO 2.1 : Support for JDK1.5 generics with JDO2. No longer necessary to specify the
collection element-type or map key-type/value-type if the field is specified using
generics.
- JDO 2.1 : Added support for PMF.getServerTimeZoneID(), PMF.setServerTimeZoneID(),
PM.getServerDate()
- JDO 2.1 : Support for named Persistence Manager Factories
- JDO 2.1 : Support for CopyOnAttach allowing
yet more transparent persistence.
- JDO 2.1 : Support for using JPA1 annotations/XML and using JDO persistence.
- JDO 2.1 : Support for JDOQL Subqueries
- Ability to use both MetaData and Annotations in mixed-mode. In fact if using JDO persistence you
can now have JDO MetaData, ORM MetaData and Annotations for the same class if you so wish.
- Ability to turn off "persistence-by-reachability" and "update-by-reachability" on a per-field basis for
JDO (by default objects are persisted/update by reachability when calling makePersistent() whereas in JPA
they are not).
- Ability to turn on "refresh-by-reachability" on a per-field basis for JDO (JDO doesnt allow for
refreshing related objects when calling refresh() whereas in JPA it can be done).
- Initial support for persisting to DB4O
All basic persistence operations are supported when used with local transactions. Extents are supported.
Basic JDOQL support is included.
- Complete rewrite of the Spatial plugin with support for multiple geometry libraries. All spatial
functions defined in the OGC Simple Feature
specification are supported. Oracle, MySQL or PostgreSQL (with PostGIS extension) can be used as
datastore.
- Ability to use JPQL query language from JDO persistence
- Added JPOX Enhancer mode using ASM instead of BCEL
giving up to 3 times speed up in enhancement process!
- Integrated SQLController allowing improved statement batching.
- Ability to issue INSERT/UPDATE/DELETE statements using the JDO2 SQL query API.
- Ability to use "numbered" and "named" parameters with SQL queries.
- JDO : Support Non-Transactional writes.
- JDO : Support "non-durable" identity for persists and reads.
- JDO : Support of "unmapped" columns in schema creation
and object insert.
- Rewrite of optimistic transaction handling.
- Support for persistent properties. This means that if you have
Java Bean-style setXXX, getXXX methods then you can persist that property rather than the field.
- Support for complete-table inheritance
under JPA (TABLE_PER_CLASS), and as an extension under JDO.
- JDO : Support for using
"ordered lists" in JDO
using a JPOX extension.
- JDO : Support for using versioning
via an existing field
in JDO using a JPOX extension.
- JDO/JPA : enhanced management of bidirectional relations
- JPA : allow "compound identity" relations using JPA
annotations/XML using a JPOX extension.
- JDO : Support for Dynamic Fetch Groups using
a JPOX extension
|