OpenJPA Logo   ASF Logo

OpenJPA 2.3.1

The Apache OpenJPA community is proud to announce the release of Apache OpenJPA 2.3.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 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).

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

Changes in OpenJPA 2.3.1


  • [OPENJPA-1988] - openjpa does not process persistence unit default <cascade-persist>
  • [OPENJPA-2094] - Metadata processing needs to support jar:file URLs that address Jar directories
  • [OPENJPA-2233] - Failed to invoke pcGetIDOwningClass method on embeddable entity with ID annotation
  • [OPENJPA-2286] - SELECT COUNT with date litteral,used more than once, provokes ArgumentException: Attempt to compare incompatible types class java.util.Date and class org.apache.openjpa.jdbc.sql.Raw
  • [OPENJPA-2381] - Update serp to 1.15.1
  • [OPENJPA-2475] - A query with LEFT FETCH JOIN returns incorrect results.
  • [OPENJPA-2476] - OptimisticLockEx due to rounding of a Timestamp (either by OJ, or the DB)
  • [OPENJPA-2478] - Erroneous message from the enhancer when a Mapped Superclass contains an @Id.
  • [OPENJPA-2515] - Fix 2.3.x binary downloads
  • [OPENJPA-2525] - Use of JoinColumn(.. referencedColumnName= ..) targets to another joinColumn key exposed as an attribute will cause a ConstrainViolation exception on persist
  • [OPENJPA-2567] - TINY/MEDIUM/LONG TEXT fields for MySQL are not supported


  • [OPENJPA-2449] - refresh(PESSIMISTIC_WRITE) generates seperate SQL for the lock
  • [OPENJPA-2450] - Option to disable execution of ALTER SEQUENCE...INCREMENT BY statement for sequences.
  • [OPENJPA-2453] - Add support to retain milliseconds of 'un-rounded' Date field.
  • [OPENJPA-2521] - Cannot load entities from a different bundle in an OSGi environment.
  • [OPENJPA-2607] - Import range for javax.transaction is to small

Changes in OpenJPA 2.3.0


  • [OPENJPA-2168] - Do not go through LifeCycleEventManager overhead if the Entity has declared to be excluded
  • [OPENJPA-2481] - Do release of JIRA's 2.3.0 version


  • [OPENJPA-696] - Cache TransactionSynchronizationRegistry per EMF (vs JVM)
  • [OPENJPA-1794] - Result of aggregate function MAX is 0 on empty table (instead of NULL).
  • [OPENJPA-1819] - ORDER BY will append additional column to the SELECT clause which may potentialy cause ORA-00979 error
  • [OPENJPA-1901] - QueryCacheStoreQuery$CachedObjectId that is not Serializable
  • [OPENJPA-1979] - Regression for non-standard joins with constant column values
  • [OPENJPA-1993] - Deadlock Potential with ORM XML Processing
  • [OPENJPA-2018] - Cannot bind String[] to ParameterExpression for
  • [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-2094] - Metadata processing needs to support jar:file URLs that address Jar directories
  • [OPENJPA-2095] - Unhandled exception thrown from within an Externalizer method causes incorrect/incomplete SQL to be generated/executed.
  • [OPENJPA-2102] - URLs which contains spaces are not properly handled by OpenJPA.
  • [OPENJPA-2110] - Abstract entity causes standard openjpa collection proxies to be injected even if custom collections are used.
  • [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-2131] - Missing IN or OUT parameter exception with OracleDictionary
  • [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-2140] - Locking tests issue many warnings about the use of a duplicate pu name
  • [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-2170] - Multiple INSERT of the same row in batch update manager
  • [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-2178] - PostgresDictionary
  • [OPENJPA-2180] - OpenJPA build broken in java7 / jdk-1.7
  • [OPENJPA-2187] - metamodel generation with default package creates invalid class
  • [OPENJPA-2191] - QueryCache don't allow for misconfigurations
  • [OPENJPA-2196] - Create Sequence Postgres 9.1
  • [OPENJPA-2197] - MethodComparator in AnnotationPersistenceMetaDataParser should also compare parameters
  • [OPENJPA-2199] - Constraint violation exception when removing relationship using (orphanRemoval = true)
  • [OPENJPA-2204] - NPE in JDBCStoreManager with Trace turned on
  • [OPENJPA-2221] - Use of AbstractValueHandler map() causes exception on find()
  • [OPENJPA-2227] - OpenJPA doesn't find custom SequenceGenerators
  • [OPENJPA-2228] - QuerySQLCache broken for Entities with @EmbeddedId
  • [OPENJPA-2229] - Persistence entities not recognized when deploying on JBoss AS 7.1
  • [OPENJPA-2230] - Event Listener detection didn't work with MappedSuperClasses or Entity heirarchies
  • [OPENJPA-2234] - EntityManager instance creation needs TX activity
  • [OPENJPA-2235] - "READ_UNCOMMITTED" setting for the fetch plan isolation level is ignored in DB2Dictionary
  • [OPENJPA-2236] - Trace of connection info can cause class transform/enhancement to fail
  • [OPENJPA-2238] - IllegalAccessError when trying to proxy a default scoped Class
  • [OPENJPA-2240] - JVMVRFY012 when using openjpa together with hyperjaxb3
  • [OPENJPA-2244] - Nested classpath ignored in mapping tool ant task
  • [OPENJPA-2245] - NotSerializableException when using a remote QueryCache and the Criteria API
  • [OPENJPA-2247] - JoinColumn annotation is ignored when mapping a unidirectional owned OneToOne that is in a SecondaryTable
  • [OPENJPA-2253] - Memory leak in Audit feature
  • [OPENJPA-2255] - Couldn't load the referencedColumn definition when create the JoinTable
  • [OPENJPA-2257] - Concurreny in org.apache.openjpa.persistence.EntityManagerImpl.getProperties leads to NullPointer and ConcurrentModificationException
  • [OPENJPA-2260] - Parenthesis-augmented parameters are improperly processed at EM level
  • [OPENJPA-2261] - Query SQL Cache issue with NULL parameters
  • [OPENJPA-2267] - native query select with null result causes NullPointerException
  • [OPENJPA-2269] - Duplicate key exception in sequence table on multithreaded initialization
  • [OPENJPA-2271] - Old <ciManagement/> info on root POM
  • [OPENJPA-2282] - ESCAPE '\' is appended to the like clause unexpectedly
  • [OPENJPA-2284] - NPE occurs when <cascade-persist/> is added to a <persistence-unit-defaults> in an orm.
  • [OPENJPA-2288] - MetaDataRepository should be able to filter classes from other app ClassLoaders in JEE Env
  • [OPENJPA-2289] - Additional SQL alias generated for query with subquery causes incorrect # of rows returned - Oracle only
  • [OPENJPA-2298] - VerifyError/Stack underflow due to extra 'return' statements generated by PCEnhancer.
  • [OPENJPA-2304] - Thread deadlock in CriteriaBuilder
  • [OPENJPA-2305] - Canonical MetaModel class generation should not use inhertence
  • [OPENJPA-2318] - Left outer join is not generated when specifien using Criteria API
  • [OPENJPA-2320] - CriteriaBuilder predicate construction deadlocks in multi-core VM due to static initializer
  • [OPENJPA-2321] - Synchronizing logging output stream causes deadlock when used some JDK LogManger derivative
  • [OPENJPA-2325] - MappedSuperClass without an @Id causes wrong identity type for the inherited types
  • [OPENJPA-2326] - Updates in TCK execution configuration
  • [OPENJPA-2328] - NPE caused by one too many calls on the iterator inside the library.
  • [OPENJPA-2330] - Stackoverflow due to endless recursive calls
  • [OPENJPA-2334] - OpenJPA must support processing puRoot & jar-file URLs as jar-formatted InputStreams
  • [OPENJPA-2335] - Constrained foreign key column value setting needs to be flexible
  • [OPENJPA-2336] - Relax Join column name comparison based on database dictionary schema case setting
  • [OPENJPA-2343] - Version field returns null when explicity projected from a JOIN in SELECT clause
  • [OPENJPA-2355] - CONCAT() function must support more than two arguments
  • [OPENJPA-2357] - @..ToMany(optional=false) throws InvalidStateException: [...] the metadata for this field specifies that nulls are illegal.
  • [OPENJPA-2369] - duplicate call to getUnloadedInternal function
  • [OPENJPA-2374] - Avoid OID creation in BrokerImpl.isDetached when lookup is not required.
  • [OPENJPA-2377] - Metamodel.managedType returns wrong result for Embeddable
  • [OPENJPA-2378] - TestHandlerStrategy.testIssue_OPENJPA2328 failed with Oracle
  • [OPENJPA-2384] - Rendering criteria query to JPQL-like string ignores multiple GROUP BY clauses
  • [OPENJPA-2390] - HSQLDB SELECT NEXT VALUE FOR Sequence will skip 1 sequence value if allocation size is 1
  • [OPENJPA-2391] - HSQLDB v2.2.9
  • [OPENJPA-2400] - Support MariaDB
  • [OPENJPA-2405] - EntityManager.merge does not work for entity that is managed by another EntityManager
  • [OPENJPA-2409] - allow the openjpa-maven-plugin to use a persistence.xml from resources and not only from files
  • [OPENJPA-2414] - FinderCache does not consider active Fetch Groups/FetchPlan added Fields
  • [OPENJPA-2418] - Cannot build 2.2.x due to NullPointerException in maven-checkstyle-plugin
  • [OPENJPA-2421] - Slices: Can't setting up FinderTargetPolicy
  • [OPENJPA-2423] - Isolation level is not working properly on DB2 for JPQL queries with nested sub-queries.
  • [OPENJPA-2425] - SELECT fields with @ExternalValues defined returns datastore values instead of unmapped fields
  • [OPENJPA-2432] - MySQL dictionary can't be found from a valid connection
  • [OPENJPA-2435] - Version field in a projection always returned as an Integer.
  • [OPENJPA-2437] - transactional listeners added too late to observe begin event
  • [OPENJPA-2440] - foreign key drop leaks jdbc connections
  • [OPENJPA-2443] - InvalidStateException while merging a new Entity with a GeneratedValue id
  • [OPENJPA-2444] - ReverseMappingTool creates orm.xml files in the current working directory
  • [OPENJPA-2480] - Update the website with 2.3.0 release information
  • [OPENJPA-2585] - Update the website with 2.4.0 release information


  • [OPENJPA-2120] - Add new option to eliminate reflection calls from enhancer generated IdClass PC copy operations
  • [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-2171] - asm should be optional
  • [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-2209] - MetaDataRepository preload configuration should be more inclusive
  • [OPENJPA-2220] - Persistent field fetching statistic tool
  • [OPENJPA-2231] - jest TokenReplacedStream use Reader instead of Inputstream
  • [OPENJPA-2264] - Upcast PreparedStatementManagerImpl.logSQLWarnings to take a Statement rather than a PreparedStatement
  • [OPENJPA-2275] - Extending SchemaTool
  • [OPENJPA-2292] - Reduce object allocations
  • [OPENJPA-2293] - Reduce LifecycleEventManager
  • [OPENJPA-2324] - Option to express literal in query string directly into generate SQL
  • [OPENJPA-2332] - Update message when unable to resolve datasource configuration
  • [OPENJPA-2342] - Consider modifying to use serp.bytecode.BCClass.getDeclaredInterfaceNames instead of getDeclaredInterfaceTypes.
  • [OPENJPA-2346] - Optimize MetaDataRepository.getMetaDataInternal
  • [OPENJPA-2347] - Make StateManagerImpl more extensible
  • [OPENJPA-2348] - Cache calculated hashCode in OpenJPAId
  • [OPENJPA-2353] - Reduce object allocations
  • [OPENJPA-2354] - Removed synchronized from enhancer added pcReplaceStateManager method
  • [OPENJPA-2368] - Move to
  • [OPENJPA-2410] - Build time detection of System.out/err.print(ln) in source files

New Feature

  • [OPENJPA-2283] - Upgrade to ASM 4 dependency
  • [OPENJPA-2295] - speed up query metadata lookup
  • [OPENJPA-2366] - provide option to exclude schema name from generated @Table annotation for generated entities


  • [OPENJPA-1532] - Should the <shared-cache-mode> element in a persistence unit definition automatically turn on the data cache?



  • [OPENJPA-2169] - TestOracleXmlColumn test failed using Oracle 11.2 driver
Copyright © 2006,2013 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.