Release Notes for Apache OpenJPA 2.2.1
The Apache OpenJPA community is proud to release a maintenance distribution of
OpenJPA 2.2.1. This distribution is based on the final JSR 317 Java
Persistence API, Version 2.0 specification and passes the JPA 2.0 TCK,
while remaining backwards compatible with prior releases based on the
Java Persistence API (JPA 1.0) part of Java Community Process JSR-220
(Enterprise JavaBeans 3.0).
Additional information on the OpenJPA project may be found at the project
web site: http://openjpa.apache.org
OpenJPA requires Java 6 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 are looking for in the manual or would like more
clarification, 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 issue tracker.
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.
Copyright 2006,2012 The Apache Software Foundation
This product includes software developed at The Apache Software Foundation (http://www.apache.org/).
Apache OpenJPA includes the persistence and orm schemas from the JPA specifications.
Copyright 2005-2009 Sun Microsystems, Inc. All rights reserved.
Apache OpenJPA elects to include this software in this distribution under the CDDL license.
You can obtain a copy of the License at:
The source code is available at:
The complete list of notices can be found in NOTICE.txt included in each assembly.
Release Notes - OpenJPA - Version 2.2.1
- [OPENJPA-2168] - Do not go through LifeCycleEventManager overhead if the Entity has declared to be excluded
- [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-2118] - Prepared SQL query does not handle collection-valued parameter where collection is empty
- [OPENJPA-2123] - Minor performance improvements for Connection and ResultSet processing
- [OPENJPA-2132] - Traversal of a OneToMany relationship returns an empty list when InheritanceType.JOINED or SINGLE_TABLE is used.
- [OPENJPA-2133] - OpenJPA doesn't find custom mappings with an applicable class loader
- [OPENJPA-2136] - NPE when using LiteAutoDetach
- [OPENJPA-2142] - Merge of a new object does not handle Entity Id field
- [OPENJPA-2145] - Missing ASM depending jar in binary zip
- [OPENJPA-2146] - StateManager for Embeddable may throw Exception while initializing
- [OPENJPA-2149] - Criteria.function adds wrong casts to parameters making it unsuable
- [OPENJPA-2153] - NoSuchMethodException of DBCPDriverDataSource.newInstance()
- [OPENJPA-2154] - test-dynamic-enhancer profile failed for module more than one level deep
- [OPENJPA-2156] - Fix bug in org.apache.openjpa.persistence.util.SourceCode to correctly generate imports.
- [OPENJPA-2158] - LiteAutoDetach + DetachProxyFields=false can lead to Broker concurrency exceptions
- [OPENJPA-2161] - Make some members of StateManagerImpl protected to allow for greater extensability
- [OPENJPA-2163] - Lifecycle event callback occurs more often than expect
- [OPENJPA-2172] - openjpa-all jar is missing slf4j runtime dependency
- [OPENJPA-2174] - Result set mapping was not looked up when retrieving column data from a NamedNativeQuery
- [OPENJPA-2199] - Constraint violation exception when removing relationship using (orphanRemoval = true)
- [OPENJPA-2227] - OpenJPA doesn't find custom SequenceGenerators
- [OPENJPA-2230] - Event Listener detection didn't work with MappedSuperClasses or Entity heirarchies
- [OPENJPA-2236] - Trace of connection info can cause class transform/enhancement to fail
- [OPENJPA-2247] - JoinColumn annotation is ignored when mapping a unidirectional owned OneToOne that is in a SecondaryTable
- [OPENJPA-2260] - Parenthesis-augmented parameters are improperly processed at EM level
- [OPENJPA-2261] - Query SQL Cache issue with NULL parameters
- [OPENJPA-2134] - Do not close Connections when ConnectionRetainMode is set to "always"
- [OPENJPA-2137] - Make some members of StateManagerImpl protected to allow for greater extensibility
- [OPENJPA-2143] - Reduce lock contention on LifecycleEventManager
- [OPENJPA-2151] - Improve the performance of StateManagerImpl.initialize
- [OPENJPA-2152] - Don't process query hints when LockModeType == NONE
- [OPENJPA-2159] - Add support for no rounding of Date
- [OPENJPA-2162] - Avoid delimited identifier processing if it's not required by application
- [OPENJPA-2164] - Don't setPCState if field requested is already loaded
- [OPENJPA-2167] - Misc changes to improve flush() path performance
- [OPENJPA-2189] - Update OpenBooks example to build, install, and execute in the WAS Liberty Profile
- [OPENJPA-2208] - Add additional Java 2 Security doPriv function
- [OPENJPA-2169] - TestOracleXmlColumn test failed using Oracle 11.2 driver
Release notes for earlier releases of OpenJPA may be found in SVN at the following locations.
Copyright (C) 2006,2012 Apache Software Foundation. Licensed under Apache License 2.0.
Apache, the Apache feather logo and OpenJPA are trademarks of Apache Software Foundation.