Apache OpenJPA 2.2.1 Licensed under Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0 -------------------------------------------------------------------------------- Content ------- * Overview * License * Notices * Prerequisites * Documentation * Getting Involved * Included Changes * Sub-tasks * Bugs * Improvements * New Features * Test Overview -------- 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 License ------- 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 http://www.apache.org/licenses/LICENSE-2.0 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 included in each assembly. Notices ------- Copyright 2006,2012 The Apache Software Foundation. Apache, the Apache feather logo and OpenJPA are trademarks of The Apache Software Foundation. This product includes software developed at The Apache Software Foundation (http://www.apache.org/). OpenJPA includes the persistence and orm schemas from the JPA specifications. Copyright 2005-2009 Sun Microsystems, Inc. All rights reserved. OpenJPA elects to include this software in this distribution under the CDDL license. You can obtain a copy of the License at: https://glassfish.dev.java.net/public/CDDL+GPL.html The source code is available at: http://java.net/projects/glassfish The complete list of notices can be found in NOTICE.txt included in each assembly. Prerequisites ------------- OpenJPA requires Java SE 6 or higher and a relational database of some sort. Documentation ------------- 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 http://openjpa.apache.org/documentation.html 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: http://openjpa.apache.org/mailing-lists.html Getting Involved ---------------- 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 freenode.net. * Bugs and other issues can be posted on the issue tracker at https://issues.apache.org/jira/browse/OPENJPA Included Changes in OpenJPA 2.2.1 --------------------------------- Sub-task [OPENJPA-2168] - Do not go through LifeCycleEventManager overhead if the Entity has declared to be excluded Bug [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 Improvement [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 Test [OPENJPA-2169] - TestOracleXmlColumn test failed using Oracle 11.2 driver