Release Notes for OpenJPA 1.2.3
These notes describe the difference between OpenJPA release 1.2.3
and the preceding release: 1.2.2.
OpenJPA is a feature-rich implementation of the persistence part of
Java Community Process JSR-220 (Enterprise JavaBeans 3.0), which is
known as the Java Persistence API (JPA).
OpenJPA can be used as a stand-alone POJO persistence layer, or it can be
integrated into any EJB3.0 compliant container and many lightweight frameworks.
This release of OpenJPA is 100% compliant with the JPA specification.
Additional information on the OpenJPA project may be found at the project web
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
The license may also be found in LICENSE.txt which is included
in each release of OpenJPA.
The complete list of notices can be found in NOTICE.txt included in each assembly.
In normal usage, OpenJPA requires Java 5 or higher and a relational
database of some sort.
If you have questions about OpenJPA, a good source of information is the
online product manual. You can find the manual for the current release as well
as older releases of OpenJPA at
If you can't find what you're looking for in the manual or would like more
clarification you please post to the OpenJPA development mailing list.
Information on all of the OpenJPA mailing lists may be found here:
The Apache OpenJPA project is being built by the open source community for the
open source community - we welcome your input and contributions!
What we are looking for
- Source code and fixes contributions
- Documentation assistance
- Product and feature suggestions
- Detailed and constructive feedback
- Articles and whitepapers
How do I Contribute?
- To discuss Apache OpenJPA topics check out the mailing lists.
- Informal discussion also occurs on the #openjpa IRC channel on
- Bugs and other issues can be posted on the project JIRA.
- [OPENJPA-677] - Single Table Inheritance Strategy causes entity identity issues
- [OPENJPA-712] - Not correctly parsing the "having" clause with aggregate functions (ie. max, min, etc)
- [OPENJPA-828] - Externalizer fails with ClassCastException with runtime enhancement
- [OPENJPA-1001] - java.lang.IndexOutOfBoundsException when executing attached test case
- [OPENJPA-1091] - ReverseMappingTool fails for openjpa-examples/reversemapping sample
- [OPENJPA-1226] - Can not merge entity with nested embeddable
- [OPENJPA-1289] - Oracle driver throws exception due to incorrect mapping of XMLType column
- [OPENJPA-1350] - Race condition in the MetaDataRepository
- [OPENJPA-1376] - @SequenceGenerator allocationSize incorrect implementation
- [OPENJPA-1387] - Unique colums automatically defined as non-nullable
- [OPENJPA-1424] - Out of bounds exception using fetch plan
- [OPENJPA-1433] - Maven openjpa*-sources.jar publication
- [OPENJPA-1482] - NoSuchMethodError when calling setVersion on an enhanced property access Entity
- [OPENJPA-1483] - count (Distinct e) in JPQL gives wrong result when the id field is a compound primary key
- [OPENJPA-1500] - DataCache types and excludedTypes are case sensitive
- [OPENJPA-1550] - When batchLimit=-1 or >1 and an exception is caused, the params and failedObject are missing from the resultant exception.
- [OPENJPA-1569] - @Strategy triggers an InvalidStateException for fields which are declared as Java interfaces
- [OPENJPA-1583] - Update by query fails on entities using Timestamp as Version field
- [OPENJPA-1641] - SybaseDictionary should try both JDBC column names and Sybase specific column names
- [OPENJPA-1644] - Null field values after calling EntityManager.remove()
- [OPENJPA-1665] - Problems when using auto incrementing colums that start at zero
- [OPENJPA-1668] - User's ''DBDictionary.sequenceSQL' setting not being honored on zOS
- [OPENJPA-1678] - SQL Parameter values may contain sensitive information and should not be logged by default.
- [OPENJPA-1682] - TestSimpleXmlEntity.testId failed with invalid DB2 create table SQL statement
- [OPENJPA-1691] - Oracle XMLType column failed to insert/update when xml contains more than 4000 characters
- [OPENJPA-1704] - PCEnhancer incorrectly generates readExternal
- [OPENJPA-1814] - JPQL fails with Group By and Having aggregate_expression IN (subquery)
- [OPENJPA-1854] - A 'find' or 'query' may return multiple instances of Entities which contain Embeddables, where the Embeddables use String identities, if the id value has trailing spaces.
- [OPENJPA-1874] - Handle Oracle specific XML column type with @Lob annotation
- [OPENJPA-1905] - jar-file validation should be deferred until after OpenJPA is confirmed to be the application's chosen provider
- [OPENJPA-1911] - InvalidStateException is thrown when merge an entity with derived identiy
- [OPENJPA-1957] - XML overriding column names for ArrayList attributes causes exception.
- [OPENJPA-1993] - Deadlock Potential with ORM XML Processing
- [OPENJPA-1996] - OpenJPA Samples fail on MacOS X
- [OPENJPA-2006] - Sequence generated ids may fail to get assigned when flushing a graph with bi-directional relationships
- [OPENJPA-2015] - ClassCastException when base entity class has InheritanceType.SINGLE_TABLE base with multiple entity subclasses
- [OPENJPA-2051] - Entities in a relationship are not properly cascaded after a EntityManager.flush is executed.
- [OPENJPA-2067] - A 'length' of '-1' passed to PreparedStatement.setBinaryStream can cause an exception on some, but not all, JDBC drivers.
- [OPENJPA-2072] - InvalidStateException deleting an instance with a timestamp in its primary key
- [OPENJPA-2095] - Unhandled exception thrown from within an Externalizer method causes incorrect/incomplete SQL to be generated/executed.
- [OPENJPA-2107] - ManagedCache conflict due adding an entity 2 times in the same query.
- [OPENJPA-2117] - XML overriding column names for 1xM attributes causes exception.
- [OPENJPA-2133] - OpenJPA doesn't find custom mappings with an applicable class loader
- [OPENJPA-2207] - Problems with numeric column name
- [OPENJPA-2236] - Trace of connection info can cause class transform/enhancement to fail
- [OPENJPA-758] - OpenJPA doesn't find ValueHandlers with an applicable class loader
- [OPENJPA-1440] - Allow COUNT(*) instead of COUNT(t0.id) for simple queries as an option
- [OPENJPA-1557] - Logging configuration is difficult for running tests
- [OPENJPA-1673] - Update MetaDataRepository docs
- [OPENJPA-1699] - Streaming Lob support in DB2
- [OPENJPA-1712] - Upgrade builds to use Apache hosted Nexus repo
- [OPENJPA-1833] - Add build date/time, branch version/revision and copyright to docs
- [OPENJPA-1836] - Update nightly-upload build script to use key/passphrase
- [OPENJPA-2042] - Diagnostics for Application Managed EntityManagerFactory leaks.
- [OPENJPA-2324] - Option to express literal in query string directly into generate SQL
Release notes for earlier releases of OpenJPA may be found in SVN at the following locations.
OpenJPA 1.2.2 RELEASE-NOTES.html
OpenJPA 1.2.1 RELEASE-NOTES.html
OpenJPA 1.2.0 RELEASE-NOTES.html