What's new in DataNucleus Access Platform 3.3.6

Jan 3, 2014
  • Auto-generate MANIFEST.MF OSGi information using Maven bundle plugin
  • Change use of StringBuffer to StringBuilder for efficiency
  • Add fix to enhancement contract for JDK1.7+ for getter when using persistence properties
  • Add support for in-memory query evaluation of String.concat
  • Provide fallback API for runtime enhancement
  • Add metadata checks for some common primary-key specification errors
  • Support persistence of StringBuilder fields
  • JPA : Fix Criteria FromImpl getJoins/getFetches to return empty set when null
  • XML : restructured to allow potential of using different JAXB implementations internally
  • XML : add support for XML indentation formatting
  • Cache : upgraded Coherence support to 3.6+
  • RDBMS : support added for query range in datastore for Derby, SQLServer 2012, Firebird
  • RDBMS : support added for sequences with SQLServer 2012
  • RDBMS : support added for M-N relations using ordered lists
  • RDBMS : fixes to schema creation for M-N relations
  • RDBMS : support added for parameters with bulk-fetch feature
  • RDBMS : bulk-fetch support added for array fields
  • RDBMS : add ability to turn off bulk-fetch on a per-query basis
  • Geospatial : new plugin comprising merged spatial/awtgeom plugins
  • Geospatial : added some missing PostGIS methods and validated against latest PostGIS JDBC driver
  • MongoDB : improved handling of ordering/range parts of query to correct previous contribution
  • MongoDB : upgrade to use latest java driver
  • HBase : fix problem with retrieval of Enum stored as numeric (ordinal)
  • Various other bug fixes and minor improvements

New in DataNucleus Access Platform 3.3.5 (Dec 12, 2013)

  • Wrap any exception thrown from JDOHelper.getObjectId so that it meets the JDO spec
  • Fix to class loading for property validators for OSGi
  • Couple of fixes for optimistic relationship management
  • JDO : Change PMF to be Serializable
  • JPA : Change EMF and CriteriaQuery to be Serializable
  • JPA : Fix criteria CONCAT support to give correct JPQL string form
  • JPA : Add support for IN with criteria queries via CriteriaBuilder
  • JPA : Add support for JPQL "TREAT" in WHERE clause
  • RDBMS : Add support for bulk fetch of multi-valued collection fields of a candidate when in FetchPlan of a query (removes "1+N" problem)
  • RDBMS : Add support for SQLServer to handle JDOQL String.substring with 2 args (Daniel Dai)
  • RDBMS : Add support for JDOQL String.concat (Daniel Dai)
  • RDBMS : Fix to detection of type of backing store required for a collection, using metadata more
  • MongoDB : Add support for specifying the MongoOptions when creating the first connection (Robin Zhang)
  • Spatial : Fix some missing PostGIS methods
  • Various other bug fixes and minor improvements

New in DataNucleus Access Platform 3.2.9 (Dec 11, 2013)

  • Wrap any exception thrown from JDOHelper.getObjectId so that it meets the JDO spec
  • Fix to class loading for property validators for OSGi
  • Couple of fixes for optimistic relationship management
  • JDO : Change PMF to be Serializable
  • RDBMS : Add support for bulk fetch of multi-valued collection fields of a candidate when in FetchPlan of a query (removes "1+N" problem)
  • RDBMS : Add support for SQLServer to handle JDOQL String.substring with 2 args (Daniel Dai)
  • RDBMS : Add support for JDOQL String.concat (Daniel Dai)
  • RDBMS : Fix to detection of type of backing store required for a collection, using metadata more
  • MongoDB : Add support for specifying the MongoOptions when creating the first connection (Robin Zhang)
  • Spatial : Fix some missing PostGIS methods
  • Some other bug fixes and minor improvements

New in DataNucleus Access Platform 3.2.8 (Nov 22, 2013)

  • Metadata : Add level of locking to metadata load process to assist in multithreaded environments
  • Metadata : fix bug in OrderMetadata for multithreaded environments
  • Fix to some potential startup problems with ExecutionContext/ObjectProvider in multithreaded environments
  • Change "datanucleus.SerializeRead", "datanucleus.cache.collections", "datanucleus.deletionPolicy", "datanucleus.query.jdoql.allowAll", "datanucleus.query.sql.allowAll" to be overrideable on the PM/EM
  • Cache : update javax.cache support to "1.0-PFD" standard
  • RDBMS : Fix to persistence of bidirectional 1-N with Set
  • RDBMS : Change backing stores to be one per field and be thread-safe
  • RDBMS : Support for more boolean expressions in result clause for JDOQL/JPQL
  • RDBMS : Support for persisting a field serialised into a local file
  • RDBMS : Support for persisting a File type field streamed to/from datastore
  • RDBMS : Upgrade "datasource" plugin point to be "connectionpool", adding more capabilities
  • Neo4j : support for persistence of map fields (Map, Map)
  • Neo4j : support for using embedded database with user-provided configuration properties
  • Neo4j : support for access to underlying Cypher query for a JDOQL/JPQL query
  • MongoDB : support for query evaluation of several String methods in-datastore (Marcin Jurkowski)
  • MongoDB : support for query evaluation of Collection.contains in-datastore (Marcin Jurkowski)
  • MongoDB : fix to retrieval of class version field (Marcin Jurkowski)
  • MongoDB : support for query literals of type Character
  • Some other bug fixes and minor improvements

New in DataNucleus Access Platform 3.3.4 (Nov 20, 2013)

  • Metadata : Add level of locking to metadata load process to assist in multithreaded environments
  • Metadata : fix bug in OrderMetadata for multithreaded environments
  • Fix to some potential startup problems with ExecutionContext/ObjectProvider in multithreaded environments
  • Change "datanucleus.SerializeRead", "datanucleus.cache.collections", "datanucleus.deletionPolicy", "datanucleus.query.jdoql.allowAll", "datanucleus.query.sql.allowAll" to be overrideable on the PM/EM
  • Cache : update javax.cache support to "1.0-PFD" standard
  • JPA : Fix to metamodel Attribute.isOptional to return false for PK fields
  • RDBMS : Fix to persistence of bidirectional 1-N with Set
  • RDBMS : Change backing stores to be one per field and be thread-safe
  • RDBMS : Support for more boolean expressions in result clause for JDOQL/JPQL
  • RDBMS : Support for persisting a field serialised into a local file
  • RDBMS : Support for persisting a File type field streamed to/from datastore
  • RDBMS : Upgrade "datasource" plugin point to be "connectionpool", adding more capabilities
  • Neo4j : support for persistence of map fields (Map, Map)
  • Neo4j : support for using embedded database with user-provided configuration properties
  • Neo4j : support for access to underlying Cypher query for a JDOQL/JPQL query
  • MongoDB : support for query evaluation of several String methods in-datastore (Marcin Jurkowski)
  • MongoDB : support for query evaluation of Collection.contains in-datastore (Marcin Jurkowski)
  • MongoDB : fix to retrieval of class version field (Marcin Jurkowski)
  • MongoDB : support for query literals of type Character
  • Various other bug fixes and minor improvements

New in DataNucleus Access Platform 3.2.7 (Oct 26, 2013)

  • JPA : fix to metamodel SimpleAttributeImpl.isVersion (Adrian Ber)
  • JPA : add support for multi-field join syntax in JPQL FROM clause
  • JPA : update to handling of JPQL range when just first result set
  • RDBMS : fix for SQLServer schema name problem (Shanyu Zhao)
  • RDBMS : add support for using FetchPlan when querying over "complete-table" candidate (previous just retrieved primary key)
  • RDBMS : improvement in process to determine class name when no subclasses known about, to avoid SQL
  • RDBMS : support for persisting Double type into SQLServer FLOAT datastore type (Shuaishai Nie)
  • JSON : fix to retrieval of objects in query so that application-identity cases have id assigned
  • MongoDB : add support for query ordering being processed in the datastore (Marcin Jurkowski))
  • Rename "google-collections" plugin to "guava"
  • JDO : distribute jdo-api 3.1-rc1
  • Some other bug fixes and minor improvements

New in DataNucleus Access Platform 3.3.3 (Oct 25, 2013)

  • JPA : fix to metamodel SimpleAttributeImpl.isVersion (Adrian Ber)
  • JPA : add support for multi-field join syntax in JPQL FROM clause
  • JPA : update to handling of JPQL range when just first result set
  • JPA : support inherited TypeConverters (Adrian Ber)
  • JPA : pass properties from EMF to ClassTransformer when run in managed mode
  • RDBMS : fix for SQLServer schema name problem (Shanyu Zhao)
  • RDBMS : add support for using FetchPlan when querying over "complete-table" candidate (previous just retrieved primary key)
  • RDBMS : improvement in process to determine class name when no subclasses known about, to avoid SQL
  • RDBMS : support for persisting Double type into SQLServer FLOAT datastore type (Shuaishai Nie)
  • JSON : fix to retrieval of objects in query so that application-identity cases have id assigned
  • MongoDB : add support for query ordering being processed in the datastore (Marcin Jurkowski))
  • Rename "google-collections" plugin to "guava"
  • JDO : distribute jdo-api 3.1-rc1
  • Various other bug fixes and minor improvements

New in DataNucleus Access Platform 3.3.0 Milestone 1 (Jun 10, 2013)

  • Mapping : cater for inheritance with (multiple) MappedSuperclass part way down tree but with superclass Entity with own table (i.e effectively @MappedSubclass)
  • SchemaTool : support properties file and/or System props overriding persistence.xml
  • Simplify internal metadata storage for fetch groups and constraints
  • Rename "datanucleus.metadata.validate" persistence property to "datanucleus.metadata.xml.validate"
  • Add "datanucleus.metadata.xml.namespaceAware" to allow control over use of XML namespaces
  • Fix to operation queue for Map remove operations
  • Add check on specification of discriminator value for abstract classes
  • JPA : Support more situations
  • JPA : run against JPA 2.1 API jar
  • JPA : Support JPA 2.1 Index and ForeignKey specification
  • JPA : Support JPA 2.1 JPQL "FUNCTION"
  • JPA : Support JPA 2.1 Criteria UPDATE/DELETE
  • JPA : Support JPA 2.1 FROM "ON" in Criteria query
  • JPA : Drop support for DN extension @Index annotation (use JPA 2.1 annotation now)
  • RDBMS : Schema Generation improvement to better cater for any ordering of input classes
  • RDBMS : Schema Generation fix to recursive initialisation of PK of a table
  • RDBMS : Fix to handling of FK Map where key/value have inheritance and the value/key is stored in a superclass
  • RDBMS : Fix to value-map discriminator handling for embedded object
  • RDBMS : add ability to invoke any SQL function (for JPA 2.1)
  • MongoDB : fix to explicitly specify the storage type for primitive wrapper types
  • Various minor bug fixes and improvements

New in DataNucleus Access Platform 3.2.0 (Mar 12, 2013)

  • Fix to in-memory evaluation when using a variable that has no possible value
  • Move operation queue for SCOs to ExecutionContext so that it can control the whole flush process
  • Disable ObjectProvider pooling since it currently causes issues when in a highly multithreaded environment
  • Add check on attempted persistence of final fields
  • JPA : allow for user overriding a JNDI datasource with a URL-based datasource
  • RDBMS : fix to bulk update when setting fields to NULL
  • RDBMS : Cater for fields of a type that have a TypeConverter but no Mapping defined, falling back to the TypeConverter
  • Neo4j : Support for bulk delete
  • MongoDB : Support for bulk delete
  • HBase : Support for bulk delete
  • Version 3.2 includes the following major changes over 3.1:
  • The enhancer and ASM are now merged into datanucleus-core
  • L2 caching of embedded/serialised fields now defaults to ON
  • ExecutionContext objects are now pooled, together with various other improvements for performance
  • Enhancer now includes an option to enhance classes as detachable regardless of metadata
  • Neo4j : now uses a single connection per PM/EM
  • Neo4j : now supports bulk delete
  • MongoDB : now uses a single connection per PM/EM
  • MongoDB : now supports bulk delete
  • HBase : supports various extensions for bloom filters, compression, in-memory etc (Nicolas Seyvet)
  • HBase : now supports bulk delete
  • RDBMS : support added for the Virtuoso database (Emmanuel Poitier)
  • RDBMS : support added for Tomcat connection pool (Marshall Reeske)
  • OSGi : improved deployability due to dependency version restrictions
  • JPA : validated to work with JBoss 7 (thanks to Nicolas Seyvet and Scott Marlow)
  • JPA : access of non-detached field will result in IllegalAccessException instead of the previous JDO exception
  • JPA : support for JPA2.1 FROM "ON" clauses
  • JPA : support for bulk usage of persist(), remove(), merge() and detach() (pass in Collection or array of entities)
  • JPA : support for JPA2.1 "Generate Schema" feature
  • If a type is supported to be persistent then it defaults to persistent now (no need to mark all non-standard typed fields as persistent).
  • Add ability to disable the L2 cache on a PM/EM-basis where the PMF/EMF has it enabled.
  • Cache : provides support for javax.cache v0.61
  • Many bug fixes, and minor feature additions.

New in DataNucleus Access Platform 3.2.0 Milestone 4 (Feb 21, 2013)

  • Upgrade support for javax.cache to v0.61
  • Add support for javax.cache "readThrough", "writeThrough", "statisticsEnabled" and "storeByValue"
  • Fix bug where user had JPA inheritance tree with MappedSuperclass part way through tree and no discriminator value specified.
  • JDO : Fix to JDO PM.getProperties to present the properties in the case they are in the JDO spec.
  • Support disabling of L2 cache on a PM basis
  • Add synchronisation to evict method on query results cache
  • Much code refactoring around the enhancer and restricting JDO classes to just two places specific to the bytecode enhancement contract.
  • JPA : Support for JPA2.1 XSD (Proposed Final Draft (PFD))
  • JPA : Update support for "generate-schema" to match JPA2.1 PFD
  • JPA : Fix bug in XML processing
  • JPA : Add missing support for @MapKeyTemporal and associated XML variant.
  • JPA : Cater for missing @OneToOne on persistable field
  • JDO : Fix initialisation of a Localiser that caused problems in OSGi
  • RDBMS : Fix to NPE in UpdateRequest/DeleteRequest for corner-case version handling
  • RDBMS : Fix to not setting version when class was read in and has no DFG fields
  • RDBMS : Fix to bulk update for SQLServer
  • RDBMS : Support for Tomcat connection pool (Marshall Reeske)
  • RDBMS : Better control over how statements are logged
  • RDBMS : Fix bug in HAVING clause application
  • RDBMS : Omit class from discriminator restriction when class is abstract
  • Various minor bug fixes and improvements

New in DataNucleus Access Platform 3.2.0 Milestone 3 (Feb 2, 2013)

  • Introduction of a 2-phase flush process for corner cases that discover extra objects to be persisted during the first phase of flush
  • Support for JTA TransactionSynchronizationRegistry
  • Support for JTA transactions without auto-join
  • Fixes to JTA support for JBoss 7 (Nicolas Seyvet)
  • Fix to JDOQL bulk update bug
  • Various fixes to integration of Bean Validation
  • Support ability to precompile all named queries during PMF/EMF creation
  • Improvements to L2 cache update process to only update particular fields
  • Fix to XML auto-start mechanism to avoid duplicate entries
  • JPA2.1 : support for FROM "ON" clause
  • JPA : Support for multi-object usage of EntityManager persist(), merge(), remove() and detach() - vendor extension
  • JDO : Move JDO Typesafe classes to "datanucleus-api-jdo" plugin
  • RDBMS : Fix to getGeneratedKeys for MySQL (10-15% speed up for some cases)
  • RDBMS : Fix to pessimistic locking for SQLServer (Vladimir Konkov)
  • RDBMS : Improvements to bulk update to cope with inheritance and multiple tables
  • RDBMS : Improvements to bulk delete to cope with inheritance and multiple tables
  • RDBMS : Fix to query compilation caching to allow for serialize-read setting (Graham Stewart)
  • RDBMS : Support for Virtuoso database (Emmanuel Poitier)
  • RDBMS : Bug fix so that any HAVING clause is applied to all UNIONs
  • RDBMS : Change DB2 to use UNION ALL instead of UNION
  • HBase : fix to use of HTable (Nicolas Seyvet)
  • HBase : fix to extensions handling (Nicolas Seyvet)
  • Excel : allow connectionURL prefix of "xls" as alias for "excel"
  • MongoDB : fix to logger argument to be String
  • Various minor bug fixes and improvements

New in DataNucleus Access Platform 3.2.0 Milestone 2 (Jan 3, 2013)

  • JDO : ability to mark all classes as detachable, overriding metadata
  • JDO : add convenience accessor for "detachedState" of an object
  • JDO : provide access to the native query performed by JDOQL
  • JPA : add convenience accessor for "detachedState" of an object
  • JPA : provide access to the native query performed by JPQL
  • JPA : support surrogate version on a class
  • JPA : fix to exception throwing when using JTA in a JavaEE environment
  • JPA : support for JPA2.1 "Generate Schema" feature
  • JPA : improved logix for finding a persistence-unit with a name, and flag duplicate units with the same name
  • JPA : default to not add classTransformer in JavaEE environment (so user has to enable it)
  • Update to JMX beans definitions for compliance
  • Bundle (repackaged) ASM into datanucleus-core for cleaner usage
  • Fix missing "PreMainClass" for enhancer so runtime enhancement works
  • Moved "mapped datastores" code into RDBMS plugin (from datanucleus-core) since only used there
  • Add pooling for ExecutionContext and ObjectProvider objects for performance.
  • Fix to persist of N-1 relation with detached owner so we don't get multiple element objects
  • Fix to ClassLoaderImpl/MetaDataUtils to preserve ordering whilst removing dups
  • Provide access to native query being invoked by a JDOQL/JPQL query
  • RDBMS : fix to use of named parameters in range clause of query
  • RDBMS : add statement batching to shifting process for elements in a List
  • RDBMS : fix to schema generation when we have "subclass-table" part way down an inheritance tree
  • MongoDB : improvement for polymorphic queries to make use of discriminator column and handle all in single query
  • MongoDB : improvement to deletion process to not reload same fields multiple times
  • HBase : support for Bloom filters, in-memory and various other options (Nicolas Seyvet)
  • Excel : make "poi-ooxml" dependency optional since not needed with XLS
  • Various minor bug fixes and improvements

New in DataNucleus Access Platform 3.1.3 (Nov 15, 2012)

  • JPA : Fix missing space after filter in criteria query filter/having clauses
  • JPA : Support Criteria parameter() method without name.
  • Fix to JTA transaction manager locator constructors
  • Add support for L2 caching of embedded/serialised fields (disabled by default)
  • Change process for update of an object in L2 cache to avoid concurrent access
  • LDAP : Fix to concurrent modification exception
  • MongoDB : update "native"/"auto" value generator to use "increment" when using numeric PK
  • HBase : make use of Table pool (Simon Kelly)
  • RDBMS : Clean up DeleteRequest code
  • RDBMS : Support for specifying indexes/unique-keys on map join tables
  • Updates to all plugins to place upper limit on Maven dependency versions (pre-3.2 releases)
  • Various other bug fixes and minor improvements

New in DataNucleus Access Platform 3.1.2 (Sep 28, 2012)

  • Fix to lookup of object inheritance level in some corner-case situations
  • Provide TypeConverters for persisting Serializable object as byte[] or base-64 encoded string
  • Fix clone of JPQL query so that "from" is cloned
  • Log which fields (numbers) are being attached
  • Complete TODO in FetchPlan code for dynamic fetch groups from PM
  • JDO : Fix bug in map key/value metadata handling introduced in 3.1.1
  • JPA : Fix bug in use of Query.getParameters when used by Spring Data JPA
  • XML : Fix to class loading in relation lookup
  • Neo4j : Fix to some JPQL queries causing exception
  • Neo4j : Fix to lazy load iterator for empty result condition
  • Neo4j : Fix to stackoverflow with bidirectional relation retrieval
  • Neo4j : Support persistence of arrays
  • Neo4j : Support persistence of serialised fields
  • Neo4j : Support "increment" value generator
  • MongoDB : Support for capped DB collections (size limit on objects of a type)
  • MongoDB : Fix to replica-set URL string parsing
  • RDBMS : Extend support for stored procedure parameters to other types
  • Various other bug fixes and minor improvements

New in DataNucleus Access Platform 3.1.1 (Aug 30, 2012)

  • Support for persisting to Neo4j graph datastores was added.
  • A hook for transaction event listeners was added.
  • Many improvements to in-memory query evaluation were made.
  • Improvements to invocation of query methods with RDBMS were made.
  • Improvements to querying with MongoDB were made.
  • More flexibility for querying of spatial types was added.
  • Vendor extension annotation for specifying indexes with JPA was added.
  • Many minor feature enhancements and bugfixes were made.

New in DataNucleus Access Platform 3.1 Milestone 5 (Jul 9, 2012)

  • Generic query compilation was made serializable.
  • Support for named queries in non-Entity classes was added.
  • Improvements to JTA transactions with JPA were made.
  • Support for Jodatime was made more robust.
  • Support for query methods with AWT and spatial types was added.
  • Various bugs were fixed and minor improvements made.

New in DataNucleus Access Platform 3.1 Milestone 3 (May 12, 2012)

  • Support for non-transactional atomic updates was added.
  • The "native"/"auto" value generation algorithm was rewritten to include "identity"/"sequence" etc.
  • Full support for nondurable identity was added for RDBMS, MongoDB, HBase, Excel, and ODF datastores.
  • Support for the REST API was rewritten to provide complete query support.
  • Various improvements were made to the "simple" SCO container wrappers.
  • Various problems were fixed in metadata handling, detachment/attachment, and date-string conversion.

New in DataNucleus Access Platform 3.0.8 (Feb 29, 2012)

  • Cascade-attach of arrays of persistables was fixed.
  • The JPA extension feature "findTypeConversion" was fixed.
  • A bug in OSGi class loading for persistence.xml was fixed.
  • Support for sequences with Derby was added.
  • Some other minor improvements were made.

New in DataNucleus Access Platform 3.0.6 (Jan 31, 2012)

  • Support for the JPA2.1 Stored Procedures API was added.
  • Support for nondurable identity for MongoDB/Excel was added.
  • Handling of HBase tables was fixed, allowing use of all recent versions.
  • Querying of embedded inherited fields for RDBMS was fixed.
  • Use of JPA EmbeddedId with relations was fixed.
  • Support for embedded PK fields with Excel/ODF was added.
  • Support for direct serialization of query results was added.
  • An annotation for specifying column position with JPA was added.

New in DataNucleus Access Platform 3.0.3 (Nov 6, 2011)

  • Support for bean validation (javax.validation JSR303) for JDO has been added.
  • The L2 caching process has been rewritten.
  • Various OSGi MANIFESTs have been fixed.
  • Metadata relation information for reference fields has been fixed.
  • Support for multitenancy via discriminator for MongoDB has been added.
  • Use of "validation-mode" of a persistence-unit has been fixed.
  • Various other bugs have been fixed.

New in DataNucleus Access Platform 3.0.0 (Aug 1, 2011)

  • JDO API, JPA API, REST APIs repackaged, and JSON API added
  • JPA/JDO : support for application-identity root classes without own table and without identity field(s)
  • JDO3.1 : support for "complete-table" now standarised
  • JDO : Support for bulk update/delete via typesafe API (vendor extension)
  • JPA : support for singleton EMF pattern
  • JPA : support for merge of transient object with identity that mirrors persistent object.
  • Noticeable performance change with non-transactional write operations
  • Ability to specify classes as "read-only"
  • RDBMS : Initial support for SQLite
  • MongoDB : Support for MongoDB
  • MongoDB : support for "increment" and "identity" value generation
  • MongoDB : support for embedded persistable fields, collections, arrays and maps
  • MongoDB : support for SchemaTool
  • MongoDB : support for version persistence, and optimistic checking
  • MongoDB : support for datastore identity
  • MongoDB : support for basic queries in-datastore
  • HBase : support for SchemaTool
  • HBase : support for version persistence and optimistic checking
  • HBase : support for datastore identity
  • HBase : support for relationships and reachability
  • HBase : support for "increment" value generation (Peter Rainer)
  • HBase : support for embedded persistable fields
  • HBase : support for basic queries in-datastore
  • Excel/OOXML : support for SchemaTool
  • Excel/OOXML : support for maps
  • Excel/OOXML : support for "increment" value generation
  • ODF : support for embedded persistable fields
  • ODF : support for maps
  • ODF : support for SchemaTool
  • ODF : upgrade to ODFDOM-Java 0.8.7+
  • ODF : support for "increment" value generation
  • NeoDatis : support for unique constraints.
  • Excel, ODF, XML, HBase, MongoDB : support for querying of interfaces
  • Cache : upgrade to EHCache 1.6+
  • Cache : support for Xmemcached
  • Works with JBoss 6.0

New in DataNucleus Access Platform 2.2.2 (Feb 24, 2011)

  • The number of SQL statements for some map operations was reduced.
  • Support for JPA @MapKeyEnumerated was added.
  • Support for multiple @MappedSuperclass levels was added.
  • JPQL "NOT IN (subquery)" syntax was fixed.
  • A possible race condition in JDBC statement handling was fixed.
  • Various other fixes and minor improvements were also made.

New in DataNucleus Access Platform 2.2.0 Milestone 3 (Nov 15, 2010)

  • Handling of container and addition of null elements was improved.
  • The default for null containment was improved.
  • Support for maps with null values was added for RDBMS.
  • Attach process was improved.
  • In-memory query evaluation was fixed.
  • JDO typesafe queries were added.
  • JPA2 lock methods were added.
  • Some issues with RDBMS schema generation were fixed.
  • More control for joining in JDOQL was added.
  • Various other bugs were fixed.

New in DataNucleus Access Platform 2.1.3 (Nov 15, 2010)

  • The attach process was improved to not need "attachPolicy" control.
  • The in-memory query evaluator was fixed.
  • Column reuse on RDBMS was added.
  • The length of BLOB/CLOB on MySQL was fixed.
  • Creation of index/FK on Derby was fixed.
  • JPA2 handling was improved.

New in DataNucleus Access Platform 2.1.2 (Oct 21, 2010)

  • Merge of JPA metadata has changed when specified in mixed annotations and XML.
  • The PMF/EMF startup process has been fixed so that all persistence properties are respected.
  • The use of positional parameters in JDOQL for RDBMS was fixed.
  • Validation of candidate keys was fixed.
  • Support for List.get in the JDOQL result clause was added.
  • Creation of sequences with SchemaTool was fixed.
  • Use of @Enumerated with a @Column in JPA was fixed.
  • Runtime enhancement class loader problems were fixed.

New in DataNucleus Access Platform 2.2.0 Milestone 2 (Oct 21, 2010)

  • Complete support for JDO3.1 column positioning and initial support for JDO3.1 sequence control was added.
  • The ability to retain the datastore connection when outside of a transaction was added.
  • Support for use of methods in JDOQL grouping statements was added.
  • Type comparison handling by the in-memory query evaluator was extended.
  • The ability to skip validation of objects found in the L2 cache when invoked from PM.getObjectById/EM.find was added.
  • Validation of candidate keys was fixed.
  • Support for the use of maps with embedded keys/values and key in value was added.
  • Many other additions and fixes.

New in DataNucleus Access Platform 2.1.1 (Jun 25, 2010)

  • Addition of support for persistence to OOXML documents
  • Addition of support for persistence to GoogleStorage
  • Added support for persistence of some "javax.time" (JSR0310) types
  • Added support for persistence of some Google Collections types
  • Changed to use rewritten JDOQL implementation for RDBMS by default. This makes many more JDOQL statements runnable than were previously possible
  • Uses JDO3 "final" jar
  • Uses JPA2 "final" jar
  • Supports full JPA2 definition of JPQL
  • Supports JPA2 static metamodel creation
  • Supports JPA2 orphan removal
  • Support for embedded PC objects with Excel persistence
  • Support for using spatial methods in queries with the new JDOQL implementation for RDBMS
  • Support for BoneCP RDBMS connection pooling library
  • Support for HSQLDB 2.0
  • RDBMS : Statement batching for inserts

New in DataNucleus Access Platform 1.1.6 (Oct 12, 2009)

  • Bugfixes were made to the PersistenceManager proxy when multithreaded, to interface "xcalia" mapping, and to handling of discriminators with subclasses.
  • Support for enums with LDAP datastores was added.
  • This is almost certainly the final 1.1.x release.

New in DataNucleus Access Platform 2.0 Milestone 2 (Sep 11, 2009)

  • Support for persistence to Oracle TimesTen was added.
  • Support for persistence of JodaTime types was added.
  • Support for JPA "extended" persistence context was added.
  • Support for use of subqueries with JDOQL2/JPQL2 for RDBMS was added.
  • Support for pin/unpin control over caching of query results was added.
  • Support for "detachAllOnRollback" was added.
  • A bug in the attachment of embedded fields was fixed.
  • Support for persistence of recursive graphs to LDAP was added.
  • The SQL API use of object literals was improved. Several other bugs were fixed.

New in DataNucleus Access Platform 1.1.1 (Mar 17, 2009)

  • Support for generic query compilation of param.method, param.field, chained methods, etc. was added.
  • In-memory evaluation of queries for cases of a failing expression was improved.
  • RDBMS backing store iterator SQL was rewritten using the new SQL API.
  • RDBMS "JDOQL2" implementation has support for static fields, chained methods, input Extents, enums, Math.XXX, and JDOHelper.XXX.
  • Bugs were fixed for JTA, JPA @Basic, and runtime enhancement with JPA.

New in DataNucleus Access Platform 1.1.0 (Feb 23, 2009)

  • Support for persistence to OpenDocument format spreadsheets was added. Support for compile-time enhancement was added.
  • Support for JDO2.3 query cancel/timeout API was added.
  • Improvements to the replication API were added.
  • Bugfixes were made relating to class loading, non-tx writes, Collection.remove(), and JTA.

New in DataNucleus Access Platform 1.0.3 (Dec 11, 2008)

  • Support for Xcalia/Kodo style datastore-identity was added.
  • Enhancer API support for retrieving the enhanced bytes of a class was added.
  • Support for native LDAP queries was added.
  • Some bugs were fixed.

New in DataNucleus Access Platform 1.0.1 (Sep 23, 2008)

  • Support for JDO2.2 transaction isolation has been added.
  • Support for JPQL bulk deletion with NeoDatis, db4o, XML, Excel, LDAP, and JSON has been added.
  • Performance improvement on RDBMS table detection have been made.
  • Some bugs have been fixed.

New in DataNucleus Access Platform 1.0.0 (Aug 31, 2008)

  • JDO persistence has been migrated to the forthcoming JDO2.2 standard.
  • Support for JDO2.2 dynamic fetch groups has been added (this was previously a vendor extension).
  • Generic query compilation support for chained method invocations was added.
  • Support for dynamic RDBMS schema upgrades for 1-1 interface fields was added.
  • Support for the use of datastore identity with Excel datastores was added.
  • Support for cascade delete with NeoDatis datastores was added.
  • A bug was fixed in cascade delete for db4o datastores.
  • A bug was fixed for persistence/retrieval of object wrapper field values with Excel datastores.