发布于 2014-06-14 06:35:47 | 175 次阅读 | 评论: 0 | 来源: oschina
DataNucleus Java数据持久化框架
Data Nucleus Access Platform是一个兼容各种标准的Java数据持久化框架,完全兼容JDO1,JDO2,JDO2.1,JDO2.2,JDO2.3,和JPA1等Java标准。尤其要特别说明的是Data Nucleus Access Platform提供一个基于REST的API,通过它可以访问所有常见的数据库服务器,
DataNucleus Access Platform 4.0 正式版发布。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 数据库等.
4.0 版本主要包含:
Java 1.8 : Upgrade to ASM v5 to allow for Java 1.8 bytecode changes
Java 1.8 : support for the majority of java.time types
Changed the bytecode enhancement contract to use an internal definition rather than the JDO contract
JPA : no longer needs to have jdo-api.jar present
Cassandra : support for Cassandra 1.2+
Support for multicolumn TypeConverters (used by RDBMS, Cassandra, Excel, ODF, Neo4j, MongoDB, JSON, HBase)
SchemaTool : support for create/delete of a schema (where the datastore supports it)
RDBMS : support for HikariCP and DBCP2 connection pools
RDBMS : ability to use single connection per PM/EM (rather than 1 for transactional operations, and 1 for non-transactional operations)
RDBMS : removed the need to create JavaTypeMapping classes when the user type has a TypeConverter
JSON : support for embedded 1-1 relation fields/properties
Excel/ODF/JSON/MongoDB/Neo4j/HBase/Cassandra : move to using "core" definition of table/columns meaning access to generalised features tested on other datastores
与 4.0 M4 版本比较,正式版的改进包含:
[NUCMONGODB-147] - Support multicolumn TypeConverters
[NUCHBASE-94] - Support multicolumn TypeConverters
[NUCNEOFORJ-50] - Support multicolumn TypeConverters
[NUCCORE-1223] - org.datanucleus.store.StoreData should have Table field since many store plugins use this now and we should encourage it
[NUCCORE-1227] - UUIDStringConverter should implement ColumnLengthDefiningTypeConverter and set length to 36
[NUCRDBMS-802] - Change org.datanucleus.store.rdbms.table.Table to extend org.datanucleus.store.schema.table.Table
[NUCSPATIAL-39] - Formatting ol files with the latest Datanucleus code convention xml.
[NUCSPATIAL-50] - JDK 1.8 related javadoc enhancements needed
[NUCCORE-1121] - Remove AbstractMemberMetaData.getColumn since deprecated for some time
[NUCCORE-1221] - NamingFactory getIndexName() methods should be renamed to getConstraintName() so we can use for unique constraint and FK constraint also
[NUCCORE-1222] - Change ForeignKeyMetaData to extend ConstraintMetaData
[NUCCORE-1224] - Refactor Table.getIdentifier -> Table.getName, Column.getIdentifier -> Column.getName
[NUCCORE-1225] - Update JdbcType to use ordinal as the java.sql.Types value allowing lookup in RDBMS
[NUCCORE-1226] - Add persistence property to set the preference for embedding of a PC object
[NUCCORE-1228] - CompleteClassTable should add "column" for nested array/map holder
[NUCEXCEL-77] - Remove need for SchemaVerifierImpl since does nothing currently anyway
[NUCODF-58] - Remove need for SchemaVerifierImpl since does nothing currently anyway
[NUCMONGODB-146] - Change schema management to use org.datanucleus.store.schema.table.Table
[NUCHBASE-85] - HTablePool is deprecated in HBase 0.94.11, 0.95.2 onwards
[NUCHBASE-93] - Change schema management to use org.datanucleus.store.schema.table.Table
[NUCHBASE-95] - Use column name from Table/Column structure and extract familyName/qualifierName from that name
[NUCJSON-52] - Remove need for SchemaVerifierImpl since does nothing currently anyway
[NUCNEOFORJ-49] - Use generic Table/Column code for Node/property namings and ditch ad-hoc code
[NUCRDBMS-803] - Refactor some of the method names around DatastoreIdentifier, Table, Column to make more logical to casual reader
[NUCRDBMS-804] - Enable TypeConverterMapping.getDefaultLength to use converter length (when defined)
[NUCCORE-1204] - Object is left in 2nd level cache when commit() fails
[NUCJAVAEIGHT-13] - Typoe in plugin.xml for InstantLongConverter