The 3.3 release of AccessPlatform is available under the Apache 2 license from our download page
Version 3.3 includes the following over 3.2
JPA 2.1 : support for Criteria FROM "ON" clause.
JPA 2.1 : support for Criteria UPDATE/DELETE statements.
JPA 2.1 : support for ForeignKey and Index specification for schema generation.
JPA 2.1 : support for JPQL "FUNCTION"
JPA 2.1 : support for EntityGraphs
Several bug fixes, and minor feature additions.
No further releases
Jan 1st 2014 : Version 3.3.6 includes the following changes
Auto-generate MANIFEST.MF OSGi information using Maven bundle plugin
Change use of StringBuffer to StringBuilder for efficiency
Add fix to enhancement contract for Java7+ 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
Dec 10th 2013 : Version 3.3.5 includes the following changes
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
Nov 19th 2013 : Version 3.3.4 includes the following changes
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<interface>
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<PC,NonPC>, Map<NonPC, PC>)
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
Oct 23rd 2013 : Version 3.3.3 includes the following changes
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
Aug 31st 2013 : Version 3.3.2 includes the following changes
L2 Cache : store class name of "id" of object to avoid some inheritance lookups
L2 Cache : allow configurable "update" mode
L2 Cache : cache copies of Date, Calendar when caching fields of those types
Update javax.cache support to v0.9
Add fallback method for getting types of a TypeConverter
Improvement to lookup of an object using class name from the identity where possible
Key FetchPlan for a class by the class name rather than by its metadata
JPA : fix support for Criteria function() method
RDBMS : support for querying ==/!= of String parameters
RDBMS : support query select of fetch plan fields of related N-1 FK field
RDBMS : support detection of discriminator in SQL query
HBase : improvement for primitive wrapper field types
Various other bug fixes and minor improvements
Aug 1st 2013 : Version 3.3.1 includes the following changes
Provide different ObjectProvider (StateManager) when using non-RDBMS datastores
Improve process of defining static query method support
In-memory querying : add support for String.charAt(int)
Upgrade javax.cache support to v0.8
MetaData : fix to merging of unmapped columns from ORM mapping file
JPA : fix to handling of ForeignKey annotations
JPA : fix to OSGi MANIFEST version info
RDBMS : add support for ordering with NULLS FIRST/NULLS LAST in JDOQL/JPQL
RDBMS : add support for use of startup load-scripts etc
RDBMS : fix to entrySet for FK Map where the key/value have inheritance
RDBMS : fix to handling of auto-apply of TypeConverter
MongoDB : fix to handling of version field under some circumstances
Spatial : various additions for use with PostGIS (Baris Ergun)
Various other bug fixes and minor improvements
Jun 27th 2013 : Version 3.3 RELEASE includes the following changes
JPA : Add support for JPA 2.1 EntityGraph
JPA : Add support for JPA 2.1 @Converter autoApply and @Convert disableConversion
Fix to JPA fields marked as embedded to cascade persist/delete etc
Drop support for DataNucleus extension @FetchGroup/@FetchPlan
Fix to attach process for SCO collections under some circumstances
Fix to L2 cache to not perform lookup if identity is for class that is not cacheable
Schema Generation : fix to case where using complete-table and version/discriminator not being added to subclasses
Fix to query caching to cater for FetchPlan being different on a query
Jun 9th 2013 : Version 3.3 Milestone 1 includes the following changes
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 <order-column> 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