Release Notes for OpenJPA
These notes describe the difference between OpenJPA release 1.2.1
and the preceding release: 1.2.0.
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?
Release Notes - OpenJPA - Version 1.2.1.
- 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-681] - Subquery generates SQL with syntax error
- [OPENJPA-708] - sub-sub-query generates SQL with syntax error
- [OPENJPA-744] - Extra SQL on LAZY/EAGER ManyToOne relation
- [OPENJPA-765] - Check for insertable or updateable before checking value for null
[OPENJPA-686] - Openjpa manual needs to be updated for database restriction on BigDecimal field on Sybase
[OPENJPA-726] - Provide MD5Sums for latest downloads
[OPENJPA-742] - Add line number and column number to QueryMetaData
[OPENJPA-752] - ProxySetupStateManager.setProxyData routing through PersistanceCapable caused "PersistenceException: null"
[OPENJPA-772] - Proper maven pluginManagement and use ianal-maven-plugin for enforcing legal files
[OPENJPA-779] - patch for eclipse .project and .classpath files...
[OPENJPA-817] - Order of inserts lost when using ConstraintUpdateManager
[OPENJPA-876] - Better test profiles for proprietary databases (DB2, Oracle) and continuous build
[OPENJPA-881] - Enable connection pooling for testcases.
[OPENJPA-901] - Use hosted JAI artifacts as the default for the docbook build
- [OPENJPA-646] - JDK problems with defineClass and enum class types
- [OPENJPA-650] - Document openjpa.RuntimeUnenhancedClasses=unsupported/warn configuration property
- [OPENJPA-676] - Connection used for NativeSequences is not closed
- [OPENJPA-679] - java.lang.ArrayIndexOutOfBoundsException may occur when a relation field is annotated as a primary key and a foreign key
- [OPENJPA-685] - Problem enhancing test cases with Maven 2.0.9
- [OPENJPA-702] - MappingTool fails requires appropriate DESCSTAT parm value on DB2 for z/OS
- [OPENJPA-710] - Unordered collection field adds ORDER BY clause
- [OPENJPA-711] - PDF manual lacks images
- [OPENJPA-713] - openjpa-1.2.0.jar file is 11 MB
- [OPENJPA-715] - OpenJpa does not generate IDs properly. "duplicate key value in a unique or primary key constraint" while merging object tree.
- [OPENJPA-719] - GeneralException in PCEnhancer during class transform in Turkish locale AppServer setting
- [OPENJPA-724] - Corrections for the manual
- [OPENJPA-727] - Image mapping-table.png missing in HTML manual
- [OPENJPA-731] - Bug on FetchType.EAGER when QuerySQLCache is turned on
- [OPENJPA-733] - Entity contains pseudo-attached embeddable after detach
- [OPENJPA-745] - Sybase by default silently truncates a string which is longer than the column length without raising an exception
- [OPENJPA-755] - OpenJPA thows EntityExistsException trying persist a preexisting, detached entity
- [OPENJPA-762] - Batch execution fails for Oracle when batch limit set to -1 (unlimited batch size)
- [OPENJPA-777] - Exception is thrown during retrieval of an entity which contains a persistent collection of embeddable
- [OPENJPA-835] - Loading nested toMany EAGER relation resuled in PersistenceException
- [OPENJPA-811] - With Oracle, OpenJPA allows setting non-nullable field to null
- [OPENJPA-838] - fix parameter setting problem when QuerySQLCache is on
- [OPENJPA-843] - Unnecessary version update on inverse-side of a 1-m relationship
- [OPENJPA-853] - Informix cursor not open problem if synchronizeMapping set true
- [OPENJPA-864] - Subquery problems with SYNTAX_DATABASE (Oracle)
- [OPENJPA-872] - Compound custom id in bidirectional many-to-one
- [OPENJPA-912] - Potential NPE in setInverseRelation
- [OPENJPA-917] - stored procedures throw InvalidStateException when using getSingleResult() or getResultList()
- [OPENJPA-919] - JUnit for Bi-directional OneToOne with null relationships
- [OPENJPA-925] - Bidirectional OneToOne relation incorrectly set in loadEagerJoin
Release notes for earlier releases of OpenJPA may be found in SVN at the following locations.
OpenJPA 1.2.0 RELEASE-NOTES.html
OpenJPA 1.1.0 RELEASE-NOTES.html
OpenJPA 1.0.0 RELEASE-NOTES.html