Release Notes for OpenJPA 1.2.2
These notes describe the difference between OpenJPA release 1.2.2
and the preceding release: 1.2.1.
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.
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-466] - Primary key constraint violated using (Oracle) sequence to generate ID in multithreaded app
- [OPENJPA-714] - "Encountered unmanaged object in persistent field" error while merging object tree
- [OPENJPA-732] - Updates to entities via Lifecycle callback methods
- [OPENJPA-873] - @MappedSuperClass Cause Null Pointer Exception in Class With IdClass
- [OPENJPA-896] - Several source files include Windows EoL chars
- [OPENJPA-1025] - AbstractResultList.subList throws UnsupportedOperationException
- [OPENJPA-1029] - SQLServerDictionary causes NumberFormatException if MS SQL Server JDBC driver is used
- [OPENJPA-1061] - Entities extending from a Mapped Superclass that defines the ID fields share the same ObjectID type parameter
- [OPENJPA-1067] - SetQueryTimeout(x) where x != 0 causes SQLException with DB2 on Z/OS
- [OPENJPA-1141] - NPE at org.apache.openjpa.jdbc.meta.MappingInfo.mergeJoinColumn(MappingInfo.java:1400)
- [OPENJPA-1156] - Path length issues on Windows
- [OPENJPA-1197] - NativeQueries fail with MySQL
- [OPENJPA-1308] - shouldn't always use CAST with UPPER and LOWER for DB2
- [OPENJPA-1326] - ReverseMappingTool and SchemaTool failing for Sybase
- [OPENJPA-1328] - Move cacheable class configuration to ClassMetaData
- [OPENJPA-1359] - SQLServer driver 2.0 works, but causes exception in SQLServerDictionary on the first connection
- [OPENJPA-1384] - ClassNotFoundException for custom DBDictionary used by EJB
- [OPENJPA-1397] - NULL in columns part of an @IdClass composite key leads to "disappearing" (null) returned objects
- [OPENJPA-1400] - Unable to persist a relationship to a detached Entity
- [OPENJPA-1421] - Reduce lock contention in JDBCStoreManager
- [OPENJPA-1441] - NPE when enhancing a Serializable, versioned class
- [OPENJPA-1457] - Remove Java.net maven repostiory from tck pom.xml
- [OPENJPA-250] - Reduce synchronization bottlenecks in data cache, metadata repository, and lifecycle event manager
- [OPENJPA-975] - Oracle needs ability to not have an escape character for search strings.
- [OPENJPA-991] - Implement LockTimeout using db specific server-side lock timeout feature
- [OPENJPA-1045] - Add opt-in and opt-out configuration for L2 DataCache
- [OPENJPA-1136] - Add .gitignore for git users
- [OPENJPA-1171] - Use StringBuilder instead of StringBuffer in SQLBuffer
- [OPENJPA-1172] - Use java.util.concurrent.ConcurrentHashMap rather than a synchronized HashMap in ClassMapping.
- [OPENJPA-1414] - Performance improvements for detach
- [OPENJPA-1415] - Performance improvement by reduced logging of batched OLE
Release notes for earlier releases of OpenJPA may be found in SVN at the following locations.
OpenJPA 1.2.1 RELEASE-NOTES.html
OpenJPA 1.2.0 RELEASE-NOTES.html