Apache OpenJPA comes in two separate branches, each production level material.
The differences between the two are the standards they implement. The 1.x branch follows the JSR-220 Enterprise Java Beans 3.0 specificationm while the 2.x branch was modeled after the JSR-317 Java Persistence 2.0 specification.
OpenJPA works out of the box as a persistence layer for Spring and Tomcat applications, but developers can also build it as a standalone Java library, even working in non-Java EE mediums.
A Java persistence project that can be used as a stand-alone POJO persistence layer or integrated into any Java EE compliant container and many other lightweight frameworks.
What is new in this release:
- Upgrade to ASM 4 dependency
- Speed up query metadata lookup
- Provide option to exclude schema name from generated @Table annotation for generated entities
What is new in version 2.3.0 / 1.2.3:
- Upgrade to ASM 4 dependency
- Speed up query metadata lookup
- Provide option to exclude schema name from generated @Table annotation for generated entities
What is new in version 2.1.0:
- Bugs Fixed:
- ConcurrentModificationException at org.apache.openjpa.kernel.BrokerImpl
- Insert text more than 4K bytes to Clob column causes SQLException: Exhausted Resultset
- ConcurrentModificationException with self-referring entity-class when not running the enhancer
- Generating identifiers by using sequence table may fail during sequence table initialization
- Out of bounds exception using fetch plan
- JPQL fails with Group By and Having aggregate_expression IN (subquery)
- SQL-Syntax errors with h2
- ORDER BY will append additional column to the SELECT clause which may potentialy cause ORA-00979 error
- Informix lock exceptions are not mapped properly by OpenJPA
- Typo of time data type in SQLServerdictionary for MSSQL 2008
- Improvements:
- OpenJPA doesn't meaningfully implement JDBC3, JDBC4 methods in its delegates
- Provide dictionary support for SolidDB
- Upgrade to latest commons-lang for required OSGi metadata
- Provide LRU option for L2 data cache
- Better parameter validation on StoreCache.pinAll() method
- Mapping an unsupported type
- Upgrade to latest Geronimo Specs for JPA2 and Bean Validation
- Use container-managed data sources as Slice
- Refactor property processing for distributed Slice configuration
- Update MetaDataRepository docs
- Streaming Lob support in DB2
- Use FindBugs to reduce coding errors
- New Features:
- Bean Validation sample
- Add a policy interface for targeting queries to subset of slices
- Add a policy interface for targeting finder to a subset of slices
- Produce JPA Bean Validation example and corresponding documentation
- Add support for DATETIME2 with MS SQLServer
- New OpenTrader example
- MaxDB support
- Tasks:
- Upgrade to latest JPA 2.0 TCK
- Drop JDK5 support starting with OpenJPA 2.1
- Tests:
- Need Query Engine test bucket
- Simple openjpa-xmlstore tests
- Add support to test with Apache Bean Validation provider
- CachedEntityStatistics depends on @GeneratedValue which is not supported in Oracle by default
- Update openjpa-integration-daytrader to perform user tasks
- testExternalValues failed with ORA-01438 Oracle exception
- Fix 2 test cases that cause failures on DB2 9.7
What is new in version 2.0.0:
- Bug Fixes:
- ReverseMappingTool fails for openjpa-examples/reversemapping sample
- Documentation corrections
- When batchLimit=-1 or >1 and an exception is caused, the params and failedObject are missing from the resultant exception.
- DataCacheManager initialization isn't thread safe.
- @Strategy triggers an InvalidStateException for fields which are declared as Java interfaces
- Need Compatibility setting for new OPENJPA-1097 Proxies and DetachedStateField behavior
- Cache mode properties passes in to em.find and lock methods are not transient
- Query with lock mode set to PESSIMISTIC_WRITE does not have for update clause attached to the sql when runs twice
- Setting PessimisticLockManager fails to append "for update clause" to the select statement
- ReverseMappingTool (SchemaGenerator) bug
- PESSIMISTIC_WRITE is not working in Informix
- PessimisticLockException instead of LockTimeoutException thrown on DB2V9 for ZOS
- Wrong PersistentAttributeType returned for @Embedded types
- Exception during factory creation due to javax.persistence.transactionType
- Inconsistent creation of StateManagerImpl in BrokerImpl
- NPE in MetaDataRepository when preloading is enabled under heavy stress.
- MetaDataRepository preload doesn't load JAXB meta data
- Improvements:
- Make org.apache.openjpa.persistence.meta.AnnotationProcessor6 as service
- Add new Detach processing
- Decouple the QueryCache from the DataCache
- Invoking MetaModel generator
- Output control for generated canonical metamodel source code
- Testing:
- Intermittent test failure in org.apache.openjpa.persistence.generationtype.TestGeneratedValues when running on MySQL
- Add JPQL tests for element collection
- Testcase failures in TextException on MSSQL
- Fix TestTimeoutException test failures on MSSQL and MySQL
- Fix TestTimestampVersion on various databases
- Fix TestJDBCEscapeDate test for MSSQL
- Fix TestGeneratedValues for DB2
- New tests for query qualified paths
- Fix intermittent datacache timeout failures in TestSJVMCache and CacheTest
What is new in version 1.2.2:
- Bug Fixes:
- Primary key constraint violated using (Oracle) sequence to generate ID in multithreaded app
- "Encountered unmanaged object in persistent field" error while merging object tree
- Updates to entities via Lifecycle callback methods
- @MappedSuperClass Cause Null Pointer Exception in Class With IdClass
- Several source files include Windows EoL chars
- AbstractResultList.subList throws UnsupportedOperationException
- SQLServerDictionary causes NumberFormatException if MS SQL Server JDBC driver is used
- Entities extending from a Mapped Superclass that defines the ID fields share the same ObjectID type parameter
- SetQueryTimeout(x) where x != 0 causes SQLException with DB2 on Z/OS
- NPE at org.apache.openjpa.jdbc.meta.MappingInfo.mergeJoinColumn(MappingInfo.java:1400)
- Path length issues on Windows
- NativeQueries fail with MySQL
- Shouldn't always use CAST with UPPER and LOWER for DB2
- ReverseMappingTool and SchemaTool failing for Sybase
- Move cacheable class configuration to ClassMetaData
- SQLServer driver 2.0 works, but causes exception in SQLServerDictionary on the first connection
- ClassNotFoundException for custom DBDictionary used by EJB
- NULL in columns part of an @IdClass composite key leads to "disappearing" (null) returned objects
- Unable to persist a relationship to a detached Entity
- Reduce lock contention in JDBCStoreManager
- NPE when enhancing a Serializable, versioned class
- Remove Java.net maven repostiory from tck pom.xml
- Improvements:
- Reduce synchronization bottlenecks in data cache, metadata repository, and lifecycle event manager
- Oracle needs ability to not have an escape character for search strings.
- Implement LockTimeout using db specific server-side lock timeout feature
- Add opt-in and opt-out configuration for L2 DataCache
- Add .gitignore for git users
- Use StringBuilder instead of StringBuffer in SQLBuffer
- Use java.util.concurrent.ConcurrentHashMap rather than a synchronized HashMap in ClassMapping.
- Performance improvements for detach
- Performance improvement by reduced logging of batched OLE
- Testing:
- Derby test suit speed-up
- Enable test case for jpql
Comments not found