DataNucleus AccessPlatform 6.0 Release Notes

The 6.0 release of AccessPlatform is in the planning/development phase.

Version 6.0 is currently planned to include the following over 5.2

  • Require minimum Java version 11

  • Support Jakarta Persistence API, v3.0 and v3.1

  • Support Cassandra v4

Future Plans

  • 6.0.8 May 2024?

DataNucleus AccessPlatform 6.0.7

3 February 2024 : Version 6.0.7 includes the following changes


  • datanucleus-core-502 - Replace hard-coded property String with PropertyNames constants

  • datanucleus-core-503 - Replace hardcode string with PropertyNames constant

  • datanucleus-core-504 - Better extendability.

  • datanucleus-core-505 - Added extension-point for LockManager. Added option for specifying max value for version-number when using version-number strategy with optimistic locking.

  • datanucleus-core-506 - Added new L2 Cache update mode: datastore-read-only. With this mode L2 cache is only updated on datastre-read and NOT at commit. A custom commit listener can be made to control L2 cache population during commit if required.

  • datanucleus-core-507 - Added options for better controlling the flush process.

  • datanucleus-core-508 -Improvements to ExecutionContext.findObject and Level 1 cache handling.

  • datanucleus-core-509 - Added option for having custom cache implementation for ExecutionContextImpl.enlistedSMCache. Also added performance accessor for value-set of this cache.

  • datanucleus-api-jdo-128 - Improved optimistic-lock exception handling on commit.

  • datanucleus-rdbms-485 - Enabled nullable application identity fields for RDBMS engine (not for schema generation) to allow for mapping on to legacy schemas without primary key

  • datanucleus-rdbms-486 - Added option for supplying custom FlushProcess. Also improved support for SQL batching inserts/updates/deletes combined with optimistic lock handling.

  • datanucleus-rdbms-487 - Added RDBMS extension for member to specify that updates to member should not trigger version update when using optimistic locking.


  • datanucleus-core-500 - Bulk fetch of empty collections can cause ClassCastException when calling setter with a different collection implementation

DataNucleus AccessPlatform 6.0.6

1 November 2023 : Version 6.0.6 includes the following changes



  • datanucleus-rdbms-479 - Issue #470 doesn’t allow for discriminatorColumnName not being in different case

  • datanucleus-rdbms-480 - Fixes for querying M-1 UNI directional with join table mappings (and setting them)

DataNucleus AccessPlatform 6.0.5

13 August 2023 : Version 6.0.5 includes the following changes



DataNucleus AccessPlatform 6.0.4

5 April 2023 : Version 6.0.4 includes the following changes



DataNucleus AccessPlatform 6.0.3

2 January 2023 : Version 6.0.3 includes the following changes



DataNucleus AccessPlatform 6.0.2

3 October 2022 : Version 6.0.2 includes the following changes



DataNucleus AccessPlatform 6.0.1

25 August 2022 : Version 6.0.1 includes the following changes



DataNucleus AccessPlatform 6.0.0.RELEASE

25 June 2022 : Version 6.0.0.RELEASE includes the following changes



  • datanucleus-core-474 - IllegalMonitorStateException being thrown during lock release when datanucleus.multithreaded=true

  • datanucleus-rdbms-443 - Handling of insert audit attributes (user, timestamp) is incorrect when specified on a field

DataNucleus AccessPlatform 6.0.0.M5

07 May 2022 : Version 6.0.0.M5 includes the following changes



DataNucleus AccessPlatform 6.0.0.M4

15 March 2022 : Version 6.0.0.M4 includes the following changes


  • datanucleus-core-29 - Provide ability for store plugins to load references of related objects and cache them in the ExecutionContext (to save later fetch)

  • datanucleus-core-420 - Ignore persistence properties of form "datanucleus.schema.generateXXX" when using SchemaTool

  • datanucleus-core-430 - Move AutoStartMechanism helper code to package

  • datanucleus-core-431 - Metadata : provide fast lookup of different type of member

  • datanucleus-core-432 - Move RDBMSStoreManager getCatalogName, getSchemaName to StoreManager

  • datanucleus-core-434 - Remove Lock object from StateManagerImpl

  • datanucleus-core-435 - EmbeddedMetaData : drop memberMetaData and just use members

  • datanucleus-core-436 - Drop datanucleus.jmxType of "default" (use "platform" instead)

  • datanucleus-core-437 - Offload StateManagerImpl savedPC, savedLoadedFields, savedPersistenceFlags into separate object

  • datanucleus-core-438 - Change StateManager for embedded cases to only allow one "owner"

  • datanucleus-core-439 - Offload StateManagerImpl "activity" into flags bits

  • datanucleus-core-440 - Load of 1-N BIDIR collection should store owner in StateManager of each element if owner field isn’t loaded by default.

  • datanucleus-core-441 - Backed SCO Collection wrappers can avoid datastore call on remove(element) if not in the cached collection

  • datanucleus-core-443 - L2 cache is not updated when stored field is instantiated or when not already present

  • datanucleus-core-444 - Avoid embedded objects being put in L1 cache

  • datanucleus-core-445 - Change embedded object handling to ignore lifecycle, since managed by owner object

  • datanucleus-rdbms-370 - Provide mechanism for 1-1 owned / N-1 FK relation to be marked to fetch the "PK" only and not instantiate (when not in FetchPlan)

  • datanucleus-rdbms-407 - Table lookups in DatabaseMetaData only use catalog/schema if user-defined but should take default for the database

  • datanucleus-rdbms-408 - Support H2 v2

  • datanucleus-rdbms-410 - Change "fetch-fk-only" member extension to equate to recursion-depth=0 feature

  • datanucleus-rdbms-411 - adds support for google cloud spanner

  • datanucleus-rdbms-412 - Change JavaTypeMapping getObject/setObject signature for embedded cases

  • datanucleus-rdbms-413 - Change List backing store code for indexed list to shift in bulk (single statement)

  • datanucleus-rdbms-416 - ListStore.removeAll() is inefficient for indexed list, should do single "nulling" of list indexes and minimal reorders

  • datanucleus-rdbms-417 - Fetch of relation at one side of 1-1 bi relation should store the id of the related object in the other side StateManager

  • datanucleus-rdbms-418 - Allow auto-fetch of (unselected) FK fields in fetch request

  • datanucleus-rdbms-420 - Provide fallback JDBC type=NUMERIC when MySQL doesnt provide for it


  • datanucleus-core-27 - Update of embedded when using pessimistic txns can result in problem in dirty field handling

  • datanucleus-rdbms-406 - Updated the default for the DatastoreId.class definition; it should be a BigInt by default, from 5.2

  • datanucleus-rdbms-409 - Specification of column name in <primary-key> block doesnt use identifier case in checks

DataNucleus AccessPlatform 6.0.0.M3

8 November 2021 : Version 6.0.0.M3 includes the following changes



DataNucleus AccessPlatform 6.0.0.M2

15 August 2021 : Version 6.0.0.M2 includes the following changes



DataNucleus AccessPlatform 6.0.0.M1

26 May 2021 : Version 6.0.0.M1 includes the following changes