Java持久层框架,DataNucleus 4.1 M1 发布

jopen 9年前

Java持久层框架,DataNucleus 4.1 M1 发布

DataNucleus Access Platform 是一个兼容各种标准的 Java 数据持久化框架,兼容 JDO1, JDO2, JDO2.1, JDO2.2, JDO2.3, JPA1, JPA2 等 Java 标准。提供一个基于 REST 的API。通过它可以访问所有常见的数据库服务器,还包括 LDAP, NeoDatis, JSON, Excel/ODF spreadsheets, XML, BigTable, 和 HADOOP 数据库等.

DataNucleus 4.1 M1(Chadwick) 发布,此版本现已提供下载。详细改进如下:

19th January 2015 - DataNucleus AccessPlatform 4.1.0.M1 (Chadwick) is released. DataNucleus Access Platform provides persistence and retrieval of Java objects to/from a wide range of datastores including RDBMS, Neo4j, MongoDB, LDAP, XML, and Excel. This release is available under the Apache 2 license from our download page This release includes the following changes over the previous release

New Feature

  • [NUCRDBMS-253] - DB2 : SerializeRead/useUpdateLock "for update" shouldn't have been appended to all selects

Improvement

  • [NUCCORE-1269] - Map wrapper SCOs have inefficient initialise method when updating (setXXXField). Create efficient logic for working out changed elements
  • [NUCCORE-1270] - Add ExecutionContext.getLevel1Cache for symmetry with NucleusContext and Level2Cache
  • [NUCAPIJDO-81] - JDO class load listener : catch any exceptions loading the class and log rather than rethrowing
  • [NUCRDBMS-845] - Handling of case expression should check for non-Boolean conditional expression, and convert to CaseNumericExpression if possible

Task

  • [NUCCORE-1229] - Add ExecutionContextReference interface, and use it in bytecode enhancement contract
  • [NUCCORE-1238] - Set of container field of a persistable doesn't make use of the old value when updating the field; should use the old value to decide what to do
  • [NUCCORE-1260] - Standard collection/map wrappers remove() does cascade delete direct, yet should check if queued operations
  • [NUCCORE-1263] - Add OperationQueue operations for persists, removes and updates
  • [NUCCORE-1265] - Move StateManagerImpl.getEmbeddedOwners to ExecutionContext
  • [NUCCORE-1266] - Separate embedded owner field setting code from StateManagerImpl.wrapSCOField
  • [NUCCORE-1267] - SCOCollection/SCOMap updateEmbeddedXXX should take in makeDirty flag
  • [NUCRDBMS-844] - JDOQL/JPQL : Allow "expr = {param}" to have flexibility when the param is null so that can map to "IS NULL" or "= null"
  • [NUCRDBMS-846] - Support boolean Case expressions (just like we do numeric Case expressions)

Bug

  • [NUCCORE-1264] - Loss of all collection elements on add+remove when playing around with SCO wrapper of an object that was subsequently made HOLLOW
  • [NUCRDBMS-843] - MapMapping.postUpdate when setting to null doesn't clear the backing store but should
  • [NUCRDBMS-847] - JDOQL statement with multi-tenant PersistenceManager