OpenJPA Logo   ASF Logo

OpenJPA 2.2.0

The Apache OpenJPA community is proud to announce the release of Apache OpenJPA 2.2.0. As with the prior 2.1.0 release, 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 the prior 1.2.x releases based on the Java Persistence API (JPA 1.0) part of Java Community Process JSR-220 (Enterprise JavaBeans 3.0). For a list of all the new features of JPA 2.0, please checkout the OpenJPA 2.1.0 release notes.

Additional information on the OpenJPA project may be found at the project web site .

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[ 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
Copyright © 2006,2020 The Apache Software Foundation. Licensed under Apache License 2.0.
Apache, the Apache feather logo and OpenJPA are trademarks of The Apache Software Foundation.
Other names may be trademarks of their respective owners.