Release Notes for OpenJPA * Overview * License * Prerequisites * Documentation * Getting Involved * Sub-tasks * Bugs * Improvements * New Features * Test Overview These notes describe the difference between OpenJPA release 2.0.0 Milestone 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. This release of OpenJPA also includes some functionality from the Java Community Process JSR-317 (JPA 2.0). For the complete list of supported features please refer to the OpenJPA online issue tracker: http://issues.apache.org/jira/browse/OPENJPA. 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 which is included in each release of OpenJPA. Prerequisites In normal usage, OpenJPA requires Java 5 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'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: 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 project JIRA. OpenJPA 2.0.0 Milestone 1 Release Notes Sub-task * [OPENJPA-722] - persist - clear - merge scenario doesn't work * [OPENJPA-744] - Extra SQL on LAZY/EAGER ManyToOne relation * [OPENJPA-754] - Un-scheduled pre/postUpdate callbacks from persist. * [OPENJPA-765] - Check for insertable or updateable before checking value for null * [OPENJPA-769] - Add compatibility option to use previous column naming convention * [OPENJPA-770] - Use annotations instead of excluding tests in pom.xml * [OPENJPA-782] - Support for collections of embeddables and basic types * [OPENJPA-803] - Update SequenceGenerator to support schema and catalog * [OPENJPA-804] - JPA 2.0 spec API update - iteration 1 * [OPENJPA-805] - JPQL updates - iteration 1 * [OPENJPA-809] - Support JPA 2.0 Cache Interface * [OPENJPA-823] - Add JPA 2.0 schemas and appropriately validate for version * [OPENJPA-837] - OpenJPA 2.0: Update OpenJPA documentation with new persistence schemas * [OPENJPA-850] - Support equivalent names for plug-in value * [OPENJPA-851] - Support for enhanced map collection (and corresponding annotations) * [OPENJPA-855] - JPA2 Query support for Index function * [OPENJPA-856] - JPA2 Query support for entity type expressions * [OPENJPA-861] - Update the manual for XML column support for MySQL Bug * [OPENJPA-557] - Primary key sequences broken with postgres schemas * [OPENJPA-580] - Need a better algorithm to find DBDictionary classname in DBDictionaryFactory * [OPENJPA-732] - Updates to entities via Lifecycle callback methods * [OPENJPA-751] - Typos in the manual * [OPENJPA-755] - OpenJPA thows EntityExistsException trying persist a preexisting, detached entity * [OPENJPA-761] - SchemaTool failed with a NPE in ForeignKey.join * [OPENJPA-762] - Batch execution fails for Oracle when batch limit set to -1 (unlimited batch size) * [OPENJPA-764] - Query parsing error with IN expression and String functions such as UPPER() * [OPENJPA-777] - Exception is thrown during retrieval of an entity which contains a persistent collection of embeddable * [OPENJPA-787] - slices query.getSingleResult is broken * [OPENJPA-792] - An entity persist may fail when @MappedSupercalss is specified. * [OPENJPA-795] - enhancer throws an exception when parsing column name "first.name" because it thinks 'first' is a table name * [OPENJPA-811] - With Oracle, OpenJPA allows setting non-nullable field to null * [OPENJPA-815] - Exception is thrown when retrieving an entity which contains an embeddable and the embeddable contains a toMany relation * [OPENJPA-818] - TCK module should use Geronimo JPA 2.0 EA jar * [OPENJPA-819] - NPE when no metadata is defined for a persistent class * [OPENJPA-834] - State field mapped to XML column has incorrect value when loaded from database * [OPENJPA-835] - Loading nested toMany EAGER relation resuled in PersistenceException * [OPENJPA-836] - after em.clear the datacache is inconsistent * [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-863] - Unexpected mere-cascade behavior when cascade.all/merge specified on both sides of relationships !!! * [OPENJPA-864] - Subquery problems with SYNTAX_DATABASE (Oracle) * [OPENJPA-872] - Compound custom id in bidirectional many-to-one * [OPENJPA-873] - @MappedSuperClass Cause Null Pointer Exception in Class With IdClass Improvement * [OPENJPA-742] - Add line number and column number to QueryMetaData * [OPENJPA-752] - ProxySetupStateManager.setProxyData routing through PersistanceCapable caused "PersistenceException: null" * [OPENJPA-772] - Use apache pom as parent * [OPENJPA-778] - cleaning up build for openjpa-kernel * [OPENJPA-779] - patch for eclipse .project and .classpath files... * [OPENJPA-780] - code review for DistributedStoreManager * [OPENJPA-781] - openjpa-jdbc depends on postgres driver, should be "provided" * [OPENJPA-783] - openjpa-lib/pom.xml has extraneous code * [OPENJPA-784] - more pom.xml dependency cleanup * [OPENJPA-817] - Order of inserts lost when using ConstraintUpdateManager * [OPENJPA-854] - Testcases should not specify log level New Feature * [OPENJPA-773] - Upgrade to JPA 2 * [OPENJPA-800] - OpenJPA 2.0 iteration 1 primary task * [OPENJPA-807] - OpenJPA 2.0 iteration 2 primary task * [OPENJPA-831] - OpenJPA 2.0 iteration 1.5 (holiday) primary task * [OPENJPA-846] - XML column support for MySQL Test * [OPENJPA-833] - An improved test case for XML column mapping Change log for previous releases : OpenJPA 1.2.0 Changes: http://svn.apache.org/viewvc/openjpa/tags/1.2.0/openjpa-project/CHANGES.txt?view=markup OpenJPA 1.1.0 Changes: http://svn.apache.org/viewvc/openjpa/tags/1.1.0/openjpa-project/CHANGES.txt?view=markup OpenJPA 1.0.0 Changes: http://svn.apache.org/viewvc/openjpa/tags/1.0.0/openjpa-project/CHANGES.txt?view=markup