| Apache OpenJPA 2.2.0 |
| 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 SNAPSHOT distribution of |
| OpenJPA 2.2.0. 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.0 |
| --------------------------------- |
| |
| Sub-task |
| |
| [OPENJPA-1593] - Create an OSGiManagedRuntime |
| [OPENJPA-2081] - Provide subset of XML support for OpenJPA annotations |
| |
| Bug |
| |
| [OPENJPA-478] - Contradictory text in manual section 10.2.6. JPQL GROUP BY, HAVING |
| [OPENJPA-867] - Unexpected Behaviour of DBDictionary.indexOf() method |
| [OPENJPA-1343] - Incorrect example of openjpa.Sequence property |
| [OPENJPA-1376] - @SequenceGenerator allocationSize incorrect implementation |
| [OPENJPA-1650] - Adding a slice dynamically should be done via persistence unit only |
| [OPENJPA-1651] - Unique colums automatically defined as non-nullable (part 2) |
| [OPENJPA-1657] - Postgres connection throws NPE with null properties |
| [OPENJPA-1686] - Persistence of Dynamic and Generic Type |
| [OPENJPA-1725] - Schemaname wrongly included in DBDictionary.checkNameLength after Tablename correctly truncated |
| [OPENJPA-1746] - NullPointerException when a null value is set in the properties map passed to Entity.createEntityManagerFactory |
| [OPENJPA-1768] - StackOverflowError when finding an Entity with an Eager ManyToMany relationship. |
| [OPENJPA-1787] - Bean validation fails merging a new entity |
| [OPENJPA-1845] - the prepared query cache doesn't currently work correclty with 'SELECT IN' statements |
| [OPENJPA-1856] - Executing bulk updates should evict stale data from the DataCache |
| [OPENJPA-1873] - EntityManager#merge sometimes passes wrong entity values to @PostLoad EntityListeners |
| [OPENJPA-1876] - Slow JDBC tests |
| [OPENJPA-1896] - OpenJPA cannot store POJOs if a corresponding record already exists |
| [OPENJPA-1898] - TestQueryMultiThreaded fails with OOME "unable to create new native thread" |
| [OPENJPA-1900] - ClassCastException when serializing an entity if DetachedStateField=true |
| [OPENJPA-1901] - QueryCacheStoreQuery$CachedObjectId that is not Serializable |
| [OPENJPA-1902] - SQLServer reserved words may not be used as identifiers |
| [OPENJPA-1903] - Some queries only work the first time they are executed |
| [OPENJPA-1904] - OptimisticLockException during refresh(*,PESSIMISTIC_*) with eagar fetch on relationship fields |
| [OPENJPA-1905] - jar-file validation should be deferred until after OpenJPA is confirmed to be the application's chosen provider |
| [OPENJPA-1906] - Issue info / warning message when connection retain mode is always |
| [OPENJPA-1909] - enhance unit tests with the correct persistence.xml |
| [OPENJPA-1910] - openjpa uses application ClassLoader for resolving BrokerFactory (revisited) |
| [OPENJPA-1911] - InvalidStateException is thrown when merge an entity with derived identiy |
| [OPENJPA-1912] - enhancer generates invalid code if fetch-groups is activated |
| [OPENJPA-1915] - missing license header |
| [OPENJPA-1918] - MetaDataRepository.preload() ignores class loader returned by PersistenceUnitInfo.getClassLoader() |
| [OPENJPA-1923] - Allow flexible (non-standard) syntax for collection-valued parameters in IN() expresseion of JPQL query |
| [OPENJPA-1928] - Resolving factory method does not allow method overriding |
| [OPENJPA-1932] - Documentation corrections |
| [OPENJPA-1935] - Informix lock exceptions are not mapped properly by OpenJPA |
| [OPENJPA-1938] - Typo of time data type in SQLServerdictionary for MSSQL 2008 |
| [OPENJPA-1939] - index identifier max length for DB2 v9 is 128. |
| [OPENJPA-1940] - ReverseMapping tool does not find primary keys with Oracle |
| [OPENJPA-1941] - Criteria query returns wrong result when query cache is enabled |
| [OPENJPA-1943] - Query timeout hint not honored consistently when pessimistic lock is issued to database requires multi-statements locking scheme |
| [OPENJPA-1944] - Extra select statements executed when version column is null. |
| [OPENJPA-1951] - missing key "cant-set-value" in localizer properties org.apache.openjpa.jdbc.meta.strats |
| [OPENJPA-1953] - Copying data from inputStream to OuputStream needs appropriate buffer size |
| [OPENJPA-1954] - ArrayIndexOutOfBoundsException when querying on a version field that is in a MappedSuperclass |
| [OPENJPA-1957] - XML overriding column names for ArrayList attributes causes exception. |
| [OPENJPA-1958] - IndexOutOfBoundsException in BatchingPreparedStatementManagerImpl |
| [OPENJPA-1959] - RuntimeExceptionTranslator should be transient in DelegatingQuery |
| [OPENJPA-1960] - openjpa.InitializeEagerly breaks bean-validation integration |
| [OPENJPA-1965] - ClassCastException when using JAXB and MetaModel annotation processor |
| [OPENJPA-1968] - SQLServerDictionery not using DATETIME2 for jdbc driver other than MS JDBC driver |
| [OPENJPA-1969] - SQLServer / DataDirect SQLCode=HYT00 not handled |
| [OPENJPA-1974] - StackOverflowError when performing multiple subquery in collection field with eager fetch |
| [OPENJPA-1975] - Only obtain default schema name when needed (DB2) |
| [OPENJPA-1981] - Improper cleanup in SchemaGenerator |
| [OPENJPA-1983] - Merge of lazily fetched fields, and merge of managed entities deviates from spec |
| [OPENJPA-1984] - Incorrect ViolationContraint getRootBean when removing bean with embedded entity validation |
| [OPENJPA-1985] - ClassCastException in max(Timestamp) function on PostgreSQL |
| [OPENJPA-1986] - Extra queries being generated when cascading a persist |
| [OPENJPA-1987] - Postgres / Ingres does not support null table for getImportedKeys |
| [OPENJPA-1989] - *ToOne relationships specified as LAZY in xml aren't honored |
| [OPENJPA-1992] - java.lang.ArrayIndexOutOfBoundsException if positional parameter are not started from 1 |
| [OPENJPA-1994] - Index is a reserved word for MySQL |
| [OPENJPA-1996] - OpenJPA Samples fail on MacOS X |
| [OPENJPA-1998] - NPE getTableNameForMetadata when running SchemaTool reflect against Postgres DB |
| [OPENJPA-2000] - Wrong PostgreSQL data type for REAL - "float8", must be "float4" |
| [OPENJPA-2005] - PostgresDictionary.isOwnedSequence needs a null check |
| [OPENJPA-2006] - Sequence generated ids may fail to get assigned when flushing a graph with bi-directional relationships |
| [OPENJPA-2007] - Setting query hint "openjpa.FetchPlan.Isolation" results in misleading warning |
| [OPENJPA-2008] - OpenJPA does not work with native queries in a distributed (Slice) environment |
| [OPENJPA-2010] - Duplicate meta data warning logged due to parsing the same location twice |
| [OPENJPA-2011] - Prevent reparsing annotation metadata for queries |
| [OPENJPA-2013] - columnDefinition for TEXT types ends up in wrong sql statement |
| [OPENJPA-2025] - Byte[] and Char[] should be treated as SingularAttributes, not lists by the metamodel generator |
| [OPENJPA-2027] - Metamodel genereated at runtime expects ListAttribute for all arrays - not just PersistentCollections. |
| [OPENJPA-2034] - Update H2 Database sql error codes as per the changes in v1.3.154 |
| [OPENJPA-2036] - DynamicEnhancer should look for tools.jar in java.home/lib for all JDKs, not just the IBM SDK. |
| [OPENJPA-2039] - FKs for EAGER fields that are not in the current fetchplan aren't selected |
| [OPENJPA-2044] - Invalid header in MetaModel classes generated by AnnotationProcessor |
| [OPENJPA-2045] - NAME is a valid column name for H2 databases. |
| [OPENJPA-2051] - Entities in a relationship are not properly cascaded after a EntityManager.flush is executed. |
| [OPENJPA-2056] - Postgres V9.1 issue with LIKE clause and Escape Strings |
| [OPENJPA-2059] - Missing localizer.properties for org.apache.openjpa.persistence.util.SourceCode |
| [OPENJPA-2060] - AnnotationProcess failed to generate metadata for List<String>[] attribute in entity |
| [OPENJPA-2065] - JPA 2.0 Spec. Violation? EntityManager#createNamedQuery(String, Class) bombs with non-entity Class parameter |
| [OPENJPA-2066] - Edge case in openJPA-1227. openJPA fails to create a join and thus returns wrong data when a collection is selected from superclass and another field is selected from subclass twoor more levels down the hierarchy. |
| [OPENJPA-2069] - Natvie sequence problems uncovered after OPENJPA-1376 |
| [OPENJPA-2070] - Error processing while populating Metamodel classes needs improvement |
| [OPENJPA-2071] - NPE during ResultPacker interface processing |
| [OPENJPA-2073] - MappingTools requires live connection to DB2 server to retrieve default schema name |
| [OPENJPA-2076] - Minor fix-ups to messages |
| [OPENJPA-2077] - Pom references to org.codehaus.mojo openjpa-maven-plugin cause problems |
| [OPENJPA-2083] - Unmapped fields silently treated as transient |
| [OPENJPA-2100] - openjpa-maven-plugin fails to create SQL for entities which contain enums |
| [OPENJPA-2101] - PersistenceProductDerivation overwrites the RemoteCommitProvider configuration |
| [OPENJPA-2104] - BindParameter is not a valid query parameter as processed in DBDictionary's setUnknown() |
| [OPENJPA-2105] - Document changes no longer being uploaded |
| [OPENJPA-2107] - ManagedCache conflict due adding an entity 2 times in the same query. |
| [OPENJPA-2117] - XML overriding column names for 1xM attributes causes exception. |
| [OPENJPA-2119] - Update org.apache.openjpa.persistence.util.SourceCode |
| [OPENJPA-2122] - VerifyError with Java 7 when using javaagent or dynamic container enhancement |
| [OPENJPA-2124] - Use of XMLValueHandler results in a NullPointerException when classloader does not provide package support |
| |
| Improvement |
| |
| [OPENJPA-302] - PCEnhancer needs target classes on classpath |
| [OPENJPA-487] - Generated SUBSTRING SQL is ugly and inefficient |
| [OPENJPA-758] - OpenJPA doesn't find ValueHandlers with an applicable class loader |
| [OPENJPA-1555] - SQLBuffer code cleanup |
| [OPENJPA-1777] - Allow setting of diagonstic context for each slice in a more flexible manner |
| [OPENJPA-1778] - Improved error information for unenhanced classes. |
| [OPENJPA-1798] - Improve messages in localize.properties |
| [OPENJPA-1803] - Unwrap EntityManager to Connection |
| [OPENJPA-1847] - Use a single connection when generating schema |
| [OPENJPA-1863] - update HSQL dictionary for HSQLDB 2.0 |
| [OPENJPA-1917] - Cache column alias in SelectImpl |
| [OPENJPA-1937] - Document OpenJPAEntityManager.evict methods |
| [OPENJPA-1945] - Improve aspects of the OpenBooks sample |
| [OPENJPA-1972] - DB2 V9.7 changed the default behavior concerning blocking behavior with isolation levels greater then read uncommitted |
| [OPENJPA-1990] - Skip getting extend exception text when running on DB2 |
| [OPENJPA-1999] - Optional support for non-sequential positional parameters |
| [OPENJPA-2014] - Allow proxies to stay in place when Detaching |
| [OPENJPA-2020] - Make some members of StateManagerImpl protected to allow for greater extensability |
| [OPENJPA-2031] - Unable to import maven projects with m2e version 1.0 |
| [OPENJPA-2042] - Diagnostics for Application Managed EntityManagerFactory leaks. |
| [OPENJPA-2043] - OpenJPAId hashCode() value needs to be consistent after serialization process |
| [OPENJPA-2047] - Document the impact of Persistence Aware classes |
| [OPENJPA-2068] - Improve performance of java.util.Calendar fields |
| [OPENJPA-2075] - Abstract out parameter handling / validation from org.apache.openjpa.persistence.QueryImpl to allow for greater extensibility |
| [OPENJPA-2084] - Upgrade Derby dependency to 10.8.x |
| [OPENJPA-2085] - Improve enhancement process to support JAVA 7 compliant class file generation |
| [OPENJPA-2087] - Remove or limit the use of the ConcreteClassGenerator |
| [OPENJPA-2116] - Scrape the barrel for performance juice |
| [OPENJPA-2120] - Add new option to eliminate reflection calls from enhancer generated IdClass PC copy operations |
| [OPENJPA-2128] - Add a boolean to FieldMetaData to denote whether or not a field has a @EmbeddedId annotation. |
| [OPENJPA-2130] - Enable Java 7 testing by allowing test cases to compile targeting to 1.7 |
| |
| New Feature |
| |
| [OPENJPA-184] - use DB2 Diagnostic interface to report extended error diagnostics on SQL Exception |
| [OPENJPA-1859] - Create a sample to demonstrate usage of JEST |
| [OPENJPA-1934] - contribute an openjpa-maven-plugin |
| [OPENJPA-2108] - Allow an option to terminate MappingTool-generated SQL with a character other than semicolon |
| |
| Task |
| |
| [OPENJPA-1786] - Upgrade to latest JPA 2.0 TCK |
| [OPENJPA-1834] - Upgrade trunk to use Deby 10.6.2.1 for junits |
| [OPENJPA-1875] - Add generics to the Graph code |
| [OPENJPA-2089] - upgrade bval to latest 0.3-incubating |
| [OPENJPA-2091] - update docbook maven plugin |
| |
| Test |
| |
| [OPENJPA-2029] - Add PreparedQuery tests for non-sequential positional parameters support |