Find JSRs
Submit this Search

Ad Banner

Changes for JDO Maintenance Review 2

These changes were proposed for JSR-000243 JavaTM Data Objects 2.0 - An Extension to the JDO Specification during Maintenance Review 2, and were approved on 11 March 2008.

  1. Add methods to PersistenceManager and PersistenceManagerFactory to allow a user to get the current time and date from the server. Allow the PersistenceManagerFactory to be configured statically with TimeZone and Locale in case the information is not available from the server itself.

  2. Clarify 18.15.8 that the ordering field should be managed by the implementation, not by the user.

  3. Remove the "serialized" attribute from 18.15.8 since the ordering column is not serialized.

  4. Add property CopyOnAttach to PersistenceManager and PersistenceManagerFactory. With the property set to true, makes a copy of the detached instance on makePersistent. If the property is set to false, it attaches the detached instance itself.

  5. Add ObjectState enum and convenience methods in JDOHelper to return the ObjectState of an instance.

  6. Add method void evictAll (boolean subclasses, Class pcClass) to PersistenceManager. This allows to evict instances for a particluar class. Change signatures of DataStoreCache methods pinAll, unpinAll, and evictAll from (Class pcClass, boolean subclasses) to (boolean subclasses, Class pcClass) to accommodate adding methods that change the pcClass parameter from Class to Class....

  7. Clarify the behavior of method evictAll if the parameter is a persistent interface. This comment also applies to the DataStoreCache interface method void evictAll (Class pcClass, boolean subclasses).

  8. Require that the implementation not hold a strong reference to flushed dirty instances, allowing these instances to be garbage collected.

  9. Change signatures of PersistenceManager methods that take Object[] as an argument to take Object... as an argument. These signatures are source and binary compatible with existing programs. Where the Object... parameter would not be the last parameter, deprecate the method and reorder the parameters so Object... is last.