DataNucleus AccessPlatform 5.0 Release Notes

The 5.0 release of AccessPlatform is available under the Apache 2 license from our download page

Version 5.0 includes the following over 4.2

  • Requires JRE 1.8+

  • More flexibility to handle non-JDK collections.

  • Support for JDK 1.8 Optional for RDBMS, Cassandra, MongoDB, Excel, ODF, Neo4j, HBase, JSON

  • Support for specific Scala features including optional

  • Support HBase 1.x

  • Support HBase related object removal

  • Support Cassandra (Datastax) 3.x

  • Support Neo4j v2.3+

  • Support MongoDB v3.0+ of mongo-java-driver

  • Support for RDBMS SQL Anywhere

  • Support for PostgreSQL persisting collection/array of strings/ints into "array" column type

  • Support for nondurable identity with JPA

  • Support for Enum extension handling for RDBMS, Cassandra, MongoDB, Excel, ODF, Neo4j, HBase, JSON

  • Improved multi-tenancy support, per PMF/EMF, per PM/EM, or per datastore access.

  • Stop development of datanucleus-neodatis at 5.0.0.release since the underlying datastore hasn’t been updated in 5 years.

Future Plans

  • 5.0.11 October 2017?


DataNucleus AccessPlatform 5.0.10

Sept 9th 2017 : Version 5.0.10 includes the following changes

Enhancements

Bugs

DataNucleus AccessPlatform 5.0.9

May 31st 2017 : Version 5.0.9 includes the following changes

Enhancements

  • datanucleus-core-202 - Query.addSubquery should only allow a single variable name to be defined for the subquery

  • datanucleus-core-225 - When using JDOQL, if result class specified but no result then result defaults to candidate

  • datanucleus-core-226 - Add support for meta annotations, so that users can define their own composite annotations

  • datanucleus-api-jdo-55 - Allow DN JDO extension annotations to be used as part of meta-annotations

  • datanucleus-api-jpa-85 - Allow DN JPA extension annotations to be used as part of meta-annotations

  • datanucleus-rdbms-191 - Handling of MaxFetchDepth in navigation requests

  • datanucleus-rdbms-193 - Allow classes to map onto VIEWs when using an identity

  • datanucleus-rdbms-199 - JDOQL : when checking the validity of a result class, don’t perform checks when the user specifies the default Object[]

Bugs

DataNucleus AccessPlatform 5.0.8

Mar 20th 2017 : Version 5.0.8 includes the following changes

Enhancements

Bugs

DataNucleus AccessPlatform 5.0.7

Feb 7th 2017 : Version 5.0.7 includes the following changes

Enhancements

  • datanucleus-core-172 - Allow RANGE in string-based JPQL queries

  • datanucleus-core-174 - Query generic compilation : remove "symbolsTable" List from SymbolTable

  • datanucleus-api-jpa-58 - Support JPQL "RANGE" specification in string queries, so that getMaxResults/getFirstResult return correct info

  • datanucleus-api-jpa-63 - When in container mode, check on (JTA) transaction being active should include an attempt to join

  • datanucleus-rdbms-162 - Allow symbol lookup in parent symbol table, and its parent etc (i.e allow for multiple levels of subqueries and use of aliases)

Bugs

  • datanucleus-core-175 - JPQL parser fails to parse TRIM expression

  • datanucleus-api-jpa-64 - Application-managed EMF should map jta-data-source and non-jta-data-source on to internal persistence property names

  • datanucleus-rdbms-166 - Fix for datanucleus-rdbms-137 is flawed and should check for null element metadata


DataNucleus AccessPlatform 5.0.6

Dec 16th 2016 : Version 5.0.6 includes the following changes

Enhancements

Bugs

DataNucleus AccessPlatform 5.0.5

Nov 22nd 2016 : Version 5.0.5 includes the following changes over 5.0.4

Enhancements

Bugs

DataNucleus AccessPlatform 5.0.4

Oct 28th 2016 : Version 5.0.4 includes the following changes over 5.0.3

Enhancements

Bugs

DataNucleus AccessPlatform 5.0.3

Sep 22nd 2016 : Version 5.0.3 includes the following changes over 5.0.2

Enhancements

Bugs

  • datanucleus-core-136 - Some ByteBuffer converters could lead to buffer overflow

  • datanucleus-mongodb-25 - NPE when trying to find rootTable

  • datanucleus-rdbms-107 - SQLServer : OFFSET is only appropriate if ORDER BY is used in SQLServer 2012+

  • datanucleus-rdbms-115 - If we have generic (abstract) root class, then abstract subclass specifying generic type, then concrete class fails to pick up the override of generic type


DataNucleus AccessPlatform 5.0.2

Sep 1st 2016 : Version 5.0.2 includes the following changes over 5.0.1

Enhancements

Bugs

DataNucleus AccessPlatform 5.0.1

Aug 10th 2016 : Version 5.0.1 includes the following changes over 5.0.0.RELEASE

Enhancements

Bugs

  • datanucleus-api-jpa-26 - IdentifiableTypeImpl fails to retrieve PK information from MappedSuperClass when using GENERICS

  • datanucleus-api-jpa-27 - IdentifiableTypeImpl doesn’t read @Version attribute correctly when specified in superclass

  • datanucleus-api-jpa-32 - When @Column is specified on Collection<NonPC>/Map<?,NonPC> field it only uses name

  • datanucleus-neo4j-17 - Fetch of object can sometimes pick related object when clash of field names with other relation


DataNucleus AccessPlatform 5.0.0.RELEASE

Jul 5th 2016 : Version 5.0 RELEASE includes the following changes over Milestone 5

Enhancements

Bugs

  • datanucleus-core-95 - InMemory query evaluation of YEAR, MONTH, DAY, HOUR, MINUTE, SECOND (JPQL) aren’t implemented correctly

  • datanucleus-core-103 - version / discriminator index is not created if not specifying column and specifying indexes=true

  • datanucleus-core-104 - Fix code typo in ExecutionContextImpl.getManagedObjects

  • datanucleus-hbase-23 - Optional test fails with Collection detection

  • datanucleus-rdbms-61 - "CaseExpression = null" should be compiled as "IS NULL" but currently isn’t


DataNucleus AccessPlatform 5.0.0.M5

Jun 11th 2016 : Version 5.0 Milestone 5 includes the following changes

Enhancements

Bugs

  • datanucleus-api-jpa-22 - Criteria in(…​).not() is ignoring the NOT in the generic compilation (and generated SQL)


DataNucleus AccessPlatform 5.0.0.M4

May 17th 2016 : Version 5.0 Milestone 4 includes the following changes

Enhancements

Bugs

  • datanucleus-core-77 - NamingFactory do not cater for unique index name for DISCRIMINATOR_COLUMN

  • datanucleus-core-75 - CompleteClassTable : mark embedded PK columns as being part of PK

  • datanucleus-core-67 - OperationQueue : performAll for backing store should only process for the specified ObjectProvider

  • datanucleus-api-jdo-14 - Bean Validation : don’t fire off validation on prePersist and preStore, just on one

  • datanucleus-api-jpa-19 - Bean Validation : don’t fire off validation on prePersist and preStore, just on one

  • datanucleus-rdbms-50 - Bulk fetch has bug when trying to handle array case, assumes it is a Collection resulting in NPE


DataNucleus AccessPlatform 5.0.0.M3

Apr 8th 2016 : Version 5.0 Milestone 3 includes the following changes

New Feature

Improvement

  • datanucleus-hbase-6 - If attempt to use HBase with IDENTITY value generator it throws an exception. Better to switch to INCREMENT and log warning

  • datanucleus-rdbms-39 - Collection.contains allows control over variable join/subquery - should allow the same for Map.containsKey, Map.containsValue

  • datanucleus-rdbms-42 - Collection.contains, Map.containsKey, Map.containsValue can define how a variable is "joined" (subquery or innerjoin) but ought to allow "leftouterjoin" also

Task

Bug

  • datanucleus-core-64 - In-memory evaluation of Optional.get doesn’t check for isPresent but should

  • datanucleus-core-65 - SerializableByteBufferConverter should use wrap/remaining to convert to bytes but doesn’t

  • datanucleus-core-63 - In-memory evaluation of MonthDay.getMonthValue and YearMonth.getMonthValue are returning Month object!

  • datanucleus-cassandra-14 - When using converter on field it should SCO wrap the result on retrieval but currently doesn’t

  • datanucleus-excel-6 - Look up of object doesn’t cater for PK field being Date stored as String (i.e use of converter)

  • datanucleus-excel-4 - ExcelCandidateList (query results) should respect FetchPlan of query

  • datanucleus-hbase-13 - Use of TypeConverter fails on persist since doesn’t use the converted value

  • datanucleus-hbase-8 - Query of NonDurable identity fails, due to unknown type info even though the class is input

  • datanucleus-hbase-11 - HBase query comparing Enum field with ordinal value (or name) doesn’t evaluate

  • datanucleus-hbase-5 - Hbase plugin doesn’t cope with fetch of relation field pointing to object that is no longer present. Should just set relation to null

  • datanucleus-hbase-12 - Lookup of object when using TypeConverter on PK field fails to find the object

  • datanucleus-mongodb-16 - MongoDB v3.x removes support for using java.sql.* so need to pass in java.util.Date

  • datanucleus-odf-2 - Look up of object doesn’t cater for PK field being Date stored as String (i.e use of converter)

  • datanucleus-odf-3 - ODFCandidateList (query results) should respect FetchPlan of query

  • datanucleus-rdbms-41 - NUCRDBMS-1012 updates to join table PK creation were incomplete. Need further improvement

  • datanucleus-rdbms-40 - Insert of array of persistable objects fails to insert join table when cascade not enabled


DataNucleus AccessPlatform 5.0.0.M2

Mar 15th 2016 : Version 5.0 Milestone 2 includes the following changes

New Feature

  • NUCCORE-1369 - Add in-memory evaluation support for YearMonth.getYear, YearMonth.getMonthValue, MonthDay.getDayOfMonth, MonthDay.getMonthValue, Period.getMonths, Period.getDays, Period.getYears etc

  • NUCCORE-1370 - Support conversion from MonthDay to java.sql.Date

  • NUCCORE-1371 - Support conversion from YearMonth to java.sql.Date

  • NUCCORE-1374 - Provide ability for a store plugin to set the default TypeConverter to use for a java field type

  • NUCCORE-1377 - Support conversion of java.time.Instant to java.util.Date

  • NUCCORE-1380 - Support conversion from Duration to Double (secs.nanos)

  • NUCCORE-1383 - JPQL : Support YEAR, MONTH, DAY, HOUR, MINUTE, SECOND with java.time types

  • NUCCORE-1387 - Add in-memory evaluation support for Optional.get, Optional.isPresent

  • NUCCORE-1388 - Support persistence of java.time.ZonedDateTime as Timestamp / String

  • datanucleus-api-jpa-10 - Allow shared relation to be specified using single annotation rather than 3 extension annotations

  • NUCRDBMS-1000 - Add support for YearMonth.getYear, YearMonth.getMonthValue, MonthDay.getDayOfMonth, MonthDay.getMonthValue, Period.getMonths, Period.getDays, Period.getYears etc

  • NUCRDBMS-1003 - JDOQL : Support Optional.get(), Optional.isPresent() rather than current automatic referral to underlying type

  • datanucleus-jdo-query-3 - Use LocalDateExpression/LocalTimeExpression/LocalDateTimeExpression from javax.jdo (3.2.0.m4+)

  • datanucleus-api-jdo-7 - Allow use of jta-data-source/non-jta-data-source from persistence.xml as alternative to standard JDO properties

Improvement

  • NUCCORE-1368 - List of "simple" result classes is very restrictive. Extend to include other commonly used "simple" classes

  • NUCCORE-1385 - Query parsing can be improved to better cater for quoting and end of line characters

  • NUCCORE-1389 - java.awt.Color should be in DFG

  • datanucleus-api-rest-6 - Remove use of NucleusException

  • datanucleus-api-rest-4 - Change "jdoql" / "jpql" modes so that they take parameter "query" with the encoded query

  • datanucleus-api-rest-5 - Extract Google AppEngine code into separate classes so we can make user types pluggable

  • datanucleus-api-rest-7 - Split out code for Google "User" and "Key" classes

  • NUCRDBMS-1001 - Oracle supports NVARCHAR but JDBC driver doesn’t acknowledge it

  • NUCRDBMS-1004 - Temporal query methods contain significant duplication and need rationalising

Task

  • NUCCORE-1353 - org.datanucleus.store.query.Query has short "type" but ought to be enum. Will need all store plugins updating to match

  • NUCCORE-1372 - Nondurable classes should not be L2 cached, ever.

  • NUCCORE-1373 - CalendarStringConverter/DateStringConverter should implement ColumnLengthDefiningTypeConverter

  • NUCCORE-1376 - Update LocalDateDateConverter, LocalDateTimeDateConverter and LocalTimeDateConverter to use Instant and ZoneId for reliability

  • NUCCORE-1379 - Dont log about AutoStartMechanism if set to None

  • NUCCORE-1382 - Change JPQL "MONTH" to evaluate to the month between 1 and 12 (rather than 0 and 11 like now)

  • NUCCORE-1384 - JPQL : Support YEAR, MONTH, DAY, HOUR, MINUTE, SECOND as in-memory evaluation

  • datanucleus-api-jpa-12 - Support NUCCORE-1353

  • datanucleus-api-jdo-8 - Move LocalDateExpression/LocalTimeExpression/LocalDateTimeExpression to javax.jdo

  • datanucleus-api-jdo-6 - Allow lifecycle state change from HOLLOW to P_NONTRANS when no tx and field is already loaded

  • datanucleus-api-jdo-9 - Support NUCCORE-1353

  • NUCRDBMS-1005 - Merge VersionStringMapping, VersionTimestampMapping into VersionMapping. Same for DiscriminatorMapping

  • NUCRDBMS-1006 - ClassMapping is no longer needed; use type converter

  • NUCRDBMS-1007 - Apparently need a call to ConnectionFactory.setPool() to avoid log message with DBCP2

  • NUCRDBMS-1010 - Support NUCCORE-1353

  • datanucleus-cassandra-8 - Support NUCCORE-1353

  • datanucleus-excel-7 - Support NUCCORE-1353

  • datanucleus-hbase-14 - Support NUCCORE-1353

  • datanucleus-json-4 - Support NUCCORE-1353

  • datanucleus-ldap-10 - Support NUCCORE-1353

  • datanucleus-mongodb-12 - Support NUCCORE-1353

  • datanucleus-neodatis-1 - Support NUCCORE-1353

  • datanucleus-neo4j-12 - Support NUCCORE-1353

  • datanucleus-odf-5 - Support NUCCORE-1353

  • datanucleus-xml-4 - Support NUCCORE-1353

Bug

  • datanucleus-api-jpa-11 - If metadata specified using orm.xml only, the entity name is not defaulted

  • datanucleus-api-jpa-9 - Criteria multiple join with no join alias results in exception

  • datanucleus-api-jpa-8 - Criteria join to a multiple valued path doesn’t work.

  • NUCRDBMS-1009 - Parameters in group by expressions are not set on the JDBC statement

  • NUCRDBMS-1012 - Using JPA with a OneToMany field that is a Set with join table doesn’t create the PK for the join table, but should

  • NUCRDBMS-1013 - JPQL : join to embedded object generates incorrect SQL


DataNucleus AccessPlatform 5.0.0.M1

Jan 18th 2016 : Version 5.0 Milestone 1 includes the following changes

New Feature

  • NUCCORE-1339 - Support for non-JDK containers

  • NUCCORE-1342 - Support for single element collections (java.util.Optional)

  • NUCCORE-1343 - Allow to specify default nullability for fields using a configuration property.

  • NUCCORE-1350 - Extend NUCCORE-1344 to allow LEFT JOIN FETCH

  • NUCCORE-1354 - Add support for JPQL "INSERT" queries (vendor extension)

  • NUCCORE-1358 - Allow JPQL to exclude subclasses of the candidate

  • datanucleus-api-jdo-12 - Support java.time types in JDO Typesafe

  • datanucleus-api-jpa-15 - Support JPA 2.1 Tuple/TupleElement

  • datanucleus-api-jpa-18 - Make EntityManagerFactory, EntityManager implement AutoCloseable

  • NUCRDBMS-939 - Support parameters in SELECT clause, particularly when as part of subqueries

  • NUCRDBMS-944 - Support polymorphic joins when using UNION, so only apply to particular UNIONs

  • NUCRDBMS-954 - MySQL : allow setting the COLLATION and CHARACTER SET of any tables that are created

  • NUCRDBMS-958 - Firebird supports date functions using EXTRACT(…​)

  • NUCRDBMS-970 - SQLStatement needs a way of generation where we don’t use table aliases, and just use table names

  • NUCRDBMS-976 - JPQL : BULK INSERT query support

  • NUCRDBMS-977 - Support persisting a Collection/Map using a TypeConverter for the whole field

  • NUCRDBMS-983 - Support SAP "SQLAnywhere"

  • NUCRDBMS-988 - PostgreSQL : Support JDBC type of ARRAY allowing array and Collection fields to be persisted to it

  • NUCRDBMS-989 - Support embedded object with field stored in join table

  • NUCRDBMS-996 - JDOQL : when invoking a method on a type that uses a converter, if the method doesn’t exist on the type, try on the converted-to type

  • datanucleus-scala-2 - Support for "Option"

  • datanucleus-scala-1 - Support for "case" classes as SCOs

Improvement

  • NUCCORE-1347 - ClassMetaData has "members" that should be genericised to AbstractMemberMetaData, and lookup of member name improved

  • NUCCORE-1359 - Determine Collection element and Map key/value type from TypeVariable when using ParametrizedType within ParameterizedType

  • NUCCORE-1363 - CompleteClassTable : has check on duplicated column name, but that should not apply when supporting "nested" embedded

  • datanucleus-api-jdo-13 - ExpressionImpl has package variables, should be protected to allow extension in other packages

  • NUCRDBMS-935 - SQLStatement : change handling of selects to retain SQLText until statement generation

  • NUCRDBMS-945 - SQLStatement needs more flexibility with joins; apply to just one union, pass in join type

  • NUCRDBMS-951 - Index auto creation : detect reuse of fields so we don’t try to duplicate indexes

  • NUCRDBMS-952 - SchemaTool : delete of schema for classes can try to validate the tables structure before dropping, but should just drop the tables if present

  • NUCRDBMS-955 - Firebird v2 requires use of CHAR_LENGTH for length of VARCHAR fields

  • NUCRDBMS-959 - MySQL doesn’t support "NULLS FIRST | LAST" but does allow ISNULL(…​) extra clause to put nulls last (default is first)

  • NUCRDBMS-962 - Candidate key auto creation : detect reuse of fields so we don’t try to duplicate uniques

  • NUCRDBMS-963 - HSQLDB v2+ doesn’t have LONGVARBINARY, so need to provide own mapping

  • NUCRDBMS-971 - SQLite doesn’t provide explicit support for putting nulls last, but can use "{col} IS NULL, {col}"

  • NUCRDBMS-972 - View creation : skip any token that is a "comment" since some RDBMS don’t handle that

  • NUCRDBMS-973 - Delete tables processing : goes off and calls DatabaseMetaData.getColumns for detection of table existence but could just get table type (quicker!)

  • NUCRDBMS-978 - Subclass SQLStatement for DeleteStatement, UpdateStatement

  • NUCRDBMS-980 - Improve method to determine type of ValueGenerator to use reflection and getActualTypeArguments

  • NUCRDBMS-984 - Query generation can add order clauses to SELECT but doesn’t check if they are already present; should do

  • NUCRDBMS-991 - Support for fetch of ReferenceMapping field when there is a single implementation and using FK

  • NUCRDBMS-994 - JPQL : "elem IN collectionField" is invalid syntax but we could map internally as "elem MEMBER OF collectionField"

  • datanucleus-hbase-16 - Lack of current HBase support (newest supported version is 0.94)

Task

  • NUCCORE-1346 - JDO 3.2 requires change to behaviour at close of EC with active transaction. Make it configurable

  • NUCCORE-1348 - Extend NUCCORE-1338 to EmbeddedMetaData

  • NUCCORE-1360 - Support PK field conversions for types Currency, TimeZone, UUID

  • NUCCORE-1361 - Provide ValueGenerator that generates UUID objects rather than String

  • NUCCORE-1365 - NucleusLogger : provide access to the underlying Logger for a NucleusLogger

  • NUCCORE-1367 - Add method to ObjectProvider to return if the version is loaded

  • datanucleus-api-jdo-11 - Allow addInstanceLifecycleListener/removeInstanceLifecycleListener usage until first PM is obtained

  • datanucleus-api-jpa-17 - Support AttributeConverter on a collection field to be for the whole field not just the element

  • NUCRDBMS-930 - Extract "lock-for-update" extension of SQLStatement into "public static final" variable

  • NUCRDBMS-937 - Abstract out ComponentInfo for improved handling of backing store with reference components

  • NUCRDBMS-946 - Add RIGHT_OUTER_JOIN as option in DatastoreAdapter that can be unsupported (SQLite)

  • NUCRDBMS-949 - Support date/time methods on SQLite

  • NUCRDBMS-957 - Firebird v2 requires use of SUBSTRING for substring of VARCHAR fields

  • NUCRDBMS-960 - Disable value generator "uuid-string" for PostgreSQL since main charsets don’t handle it

  • NUCRDBMS-967 - SQLite doesn’t support "ALL|ANY|SOME {subquery}" keyword constructs, so throw exception

  • NUCRDBMS-968 - SQLite LOCATE / String.indexOf should use INSTR(x,y) rather than LOCATE

  • NUCRDBMS-969 - SQLite DELETE / UPDATE JPQL should not use alias since these are not supported with SQLite

  • NUCRDBMS-975 - Provide access to RDBMSQueryCompilation, and to the SQLStatement(s) that the compilation is made up of.

  • NUCRDBMS-998 - Prevent SortedSet (and subclasses) be allocated a ListXXXStore since needs unsorted

  • NUCRDBMS-999 - Support date/time methods on SQLite

  • datanucleus-mongodb-10 - Upgrade to MongoDB v3.x

  • datanucleus-mongodb-11 - Make sure "ownerMmd" is set for FetchFieldManager when embedded, add TODO to resolve

  • datanucleus-neo4j-11 - Upgrade to Neo4j v2.3

Bug

  • NUCCORE-1349 - JDOQL/JPQL parse of BigInteger value is parsed internally to be Long and loses precision

  • NUCCORE-1351 - IN predicate unexpectedly gets transformed to EQ predicate

  • NUCCORE-1355 - JPQLSingleStringParser has missing trimRight handling (typo in trimLeft)

  • NUCCORE-1356 - Metadata processing moves ColumnMetaData to ElementMetaData is not embedded/serialised but should also allow for full field type converter case

  • NUCCORE-1362 - Persistable elements contained in Collection/Map that is serialised (whole field) are not detached/attached correctly

  • NUCCORE-1364 - L2 cache of persistable arrays creates incorrect array type for caching

  • NUCCORE-1366 - AbstractMemberMetaData.getClassName(false) can return fully qualified name in some situations

  • datanucleus-api-jdo-10 - @Convert specified on field doesn’t always get processed. Works fine when using @Persistent(converter=…​)

  • datanucleus-api-jpa-14 - JPA 2.1 has bug in EntityGraph method signatures for Attribute generic type

  • datanucleus-api-jpa-13 - Handling of UniqueConstraint/Index "name" is incorrect

  • datanucleus-api-jpa-16 - JPA MetaModel doesn’t cater correctly for List<nonPC>, and sets to CollectionAttributeImpl instead of ListAttributeImpl

  • NUCRDBMS-325 - JDOQL : "instanceof" with inheritance generates incorrect query when using union, in query FILTER

  • NUCRDBMS-933 - Wrong sql query generated when using type function with joined inheritance without discriminators

  • NUCRDBMS-934 - Exception about missing field when using (TYPE function with) TABLE_PER_CLASS strategy

  • NUCRDBMS-938 - Column creation for overridden field can try to create as IDENTITY when no value strategy defined!

  • NUCRDBMS-941 - Selecting attribute from element collection map value produces wrong sql

  • NUCRDBMS-942 - Changes to managed entities not detected when element collection is involved

  • NUCRDBMS-943 - Use of query result aliases when using DatastoreAdapter in quoted case needs quotes adding to SQL

  • NUCRDBMS-947 - SQLite String.substring should use SUBSTR(x,y,z) rather than SUBSTRING(x FROM y FOR z)

  • NUCRDBMS-948 - Fix for NUCRDBMS-823 was non-optimum. If using SQLite and IDENTITY but for a Long field, should get LongMapping with IntegerRDBMSMapping

  • NUCRDBMS-950 - Addition of datanucleus.schema.autoCreateSchema for generating schema can fail on some JDBC drivers that don’t support catalog

  • NUCRDBMS-953 - Schema generation unnecessarily creates indexes for the values of element collections

  • NUCRDBMS-956 - JPQL : Referring to map key/value from outer query in a subquery can result in extra joins adding in the subquery

  • NUCRDBMS-961 - Use of persistent property for persistable object (1-1, N-1), and adding override in subclass results in multiple (duplicate) FKs

  • NUCRDBMS-965 - Use of COMPLETE_TABLE doesn’t seem to allow override of PK field column names

  • NUCRDBMS-974 - Oracle, Firebird require that when using GROUP BY, all non-aggregate SELECT components are in the GROUP BY clause

  • NUCRDBMS-979 - Query returning result of COMPLETE_TABLE strategy where root class has no table causes exception

  • NUCRDBMS-981 - Support NUCCORE-1362

  • NUCRDBMS-985 - SELECT statement generation handling of ordering when multiple cols per order expression should apply quoting as final step but doesnt

  • NUCRDBMS-986 - Creation of mapping in some cases misses the MultiColumnConverter case and doesnt use TypeConverterMultiMapping

  • NUCRDBMS-987 - UpdateRequest : only add the version field if it is not present in the passed list of modified fields

  • NUCRDBMS-992 - Name of candidate key (unique) on join table is not respected

  • NUCRDBMS-995 - TypeConverterMapping.getJavaType is incorrect when roleForMember is set

  • datanucleus-hbase-15 - Cannot auto-create tables without deactivating sanity checks