2007-08-29 15:37:59 -04:00
Release Notes for OpenJPA
2008-06-11 20:01:46 -04:00
* Overview
* License
* Prerequisites
* Documentation
* Getting Involved
* Bugs
* Improvements
* New Features
* Task
* Test
2007-08-29 15:37:59 -04:00
Overview
2008-06-11 20:01:46 -04:00
These notes describe the difference between OpenJPA release 1.1.0 and the
preceding releases, 0.9.6, 0.9.7, and 1.0.0.
2007-08-29 15:37:59 -04:00
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.
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
2008-06-11 20:01:46 -04:00
In normal usage, OpenJPA requires Java 5 or higher and a relational
database of some sort.
2007-08-29 15:37:59 -04:00
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
2008-06-11 20:01:46 -04:00
* Source code and fixes contributions
* Documentation assistance
* Product and feature suggestions
* Detailed and constructive feedback
* Articles and whitepapers
2007-08-29 15:37:59 -04:00
How do I Contribute?
2008-06-11 20:01:46 -04:00
* To discuss Apache OpenJPA topics check out the mailing lists.
* Informal discussion also occurs on the #openjpa IRC channel on
2007-08-29 15:37:59 -04:00
freenode.net.
2008-06-11 20:01:46 -04:00
* Bugs and other issues can be posted on the project JIRA.
OpenJPA 1.1.0 Release Notes
New Features
* [OPENJPA-130] - Streaming LOB support
* [OPENJPA-147] - <T> T OpenJPAEntityManager.createInstance(Class<T> cls) fails when T is interface
* [OPENJPA-344] - Allow serialization of runtime parsed data, and loading of serialized data into runtime caches
* [OPENJPA-404] - Backward-compatibility for pre-1.0 APIs
* [OPENJPA-417] - Support more elements in collections and maps
* [OPENJPA-430] - Automatically remove hungarian notation from column names.
* [OPENJPA-469] - Generic (user, custom) GeneratedValue
* [OPENJPA-490] - JPQL extension: aggregates in ORDER BY
* [OPENJPA-491] - JPQL extension: scalar functions in GROUP BY
* [OPENJPA-492] - JPQL extension: scalar functions in SELECT
* [OPENJPA-544] - Remove JDK1.4 support
Sub-tasks
* [OPENJPA-408] - Improve error processing for openjpa.RuntimeUnenhancedClasses property settings
* [OPENJPA-502] - JPQL compliance setting
* [OPENJPA-517] - Oracle also supports WITH statements
* [OPENJPA-591] - Entities are flushed before being detached or serialized
Bugs
* [OPENJPA-9] - PCEnhancer not processing multiple PU's defined within a single persistence.xml file
* [OPENJPA-78] - Automatic runtime enhancement only works when the class is listed in the first persistence-unit
* [OPENJPA-113] - when you specify columm table="empbean" in the xml file entity id or basic type when empbean is the default table name, the mapping tool generates extra foreign key field (eg.EmpBean_empid) in the table produced.
* [OPENJPA-231] - Incorrect handling of cascading bidirectional collections during merge/attach
* [OPENJPA-245] - Attach NEW and auto-increment identity
* [OPENJPA-251] - org.apache.openjpa.enhance.Reflection.getDeclaredMethod() has undefined behavior, leading to VM-dependent crashes
* [OPENJPA-255] - Inconsistent behavior during merge with cascade=none
* [OPENJPA-258] - MetaDataInheritanceComparator is not transitive; C > B > A > C leads to out-of-memory crash in PCEnhancer
* [OPENJPA-282] - Postgresql does not support deferred unique constraints.
* [OPENJPA-295] - ArrayIndexOutofBoundsException when under load and within a managed Transaction
* [OPENJPA-322] - Timezone on the Calendar object lost in proxying
* [OPENJPA-326] - NPE if a discriminator column is specified without discriminator type in orm.xml
* [OPENJPA-329] - Generic interface may cause the openjpa Reflection code to pickup the wrong getter method
* [OPENJPA-331] - Allow BigInteger and other Basic types as Primary Keys
* [OPENJPA-335] - Logic in getters for entities with property access causes the PCEnhancer to hang
* [OPENJPA-339] - Java 2 security Access denied in File.toURL() call
* [OPENJPA-343] - Do not call setRollbackOnly on inactive Transactions
* [OPENJPA-346] - PCEnhancerAgent backwards-compatibility setting overly-enables enhancement
* [OPENJPA-347] - Performance Issue with Lazy Loaded Foreign Keys
* [OPENJPA-353] - Character discriminators are not converted correctly if storeCharsAsNumbers = true
* [OPENJPA-355] - OpenJPA Log4J factory incorrectly handles logging level
* [OPENJPA-356] - DB2 requires CASTs when parameters appear in SELECT clause
* [OPENJPA-357] - Use case where FetchGroup A includes FecthGroup B is not honoured by fetch operations
* [OPENJPA-358] - Recursion Depth for Field f should be calculated w.r.t active fetch groups and not all fetch groups
* [OPENJPA-359] - OptimisticLockException NOT thrown for entity using Timestamp Version when update from concurrent persistence contexts
* [OPENJPA-360] - SQL FOR UPDATE OF incorrectly generated for DB2/NT SQL0816
* [OPENJPA-361] - Incorrect GREG_OFFSET offset or inconsistent usage in UUIDGenerator
* [OPENJPA-364] - maven build order is incorrect
* [OPENJPA-366] - InternalException thrown in BrokerImpl.endOperation
* [OPENJPA-367] - PCEnhancer does not find meta data for entities using pure XML annotation
* [OPENJPA-368] - Multithreaded client fails randomly on EntityManager.persist() with out transaction context.
* [OPENJPA-369] - AccessDeclaredMembers RuntimePermission requires by Solaris JDK with security enabled
* [OPENJPA-370] - LoadFetchGroup annotation was not recognized during the fetch1
* [OPENJPA-372] - PCEnhancer throws away its classloader
* [OPENJPA-375] - DB2 autoCommit(true) causes Result Set prematurely closed in WebContainer JEE environment.
* [OPENJPA-378] - DB2 SQL incorrectly generating "FETCH FIRST n ROWS ONLY" in subselects
* [OPENJPA-379] - StoreException when using a third party connection pool against Sybase
* [OPENJPA-380] - Connecting to database when an unused emf is closed
* [OPENJPA-381] - OpenJPA is not doing Optimistic locking when running in JEE evnironment
* [OPENJPA-382] - Overriding column names for Byte[] attributes causes exception.
* [OPENJPA-385] - IndexOutOfBounds exception when parsing ".class" files
* [OPENJPA-387] - Getting "java.lang.ClassNotFoundException" when loading datacache plug-in which is a class outside of OpenJPA package.
* [OPENJPA-388] - MappingToolTask can't find persistence meta data.
* [OPENJPA-389] - em.getTransaction().commit() is not issuing database commit for NativeQuery requesting updates
* [OPENJPA-392] - Some columnDefinition annotation properties incorrectly used as column name instead of type
* [OPENJPA-395] - Accessing short Foreign Key metadata fields as ints causes problems on iSeries
* [OPENJPA-396] - Cloning Calendar proxies doesn't detach from StateManager
* [OPENJPA-397] - schematool ant task always requires files
* [OPENJPA-399] - openjpa did not handle multiple schema names with same table name
* [OPENJPA-401] - UnsatisfiedLinkError in MappingToolTask when using DB2 JDBC driver
* [OPENJPA-402] - Unable to detect an valid Entity's meta data when the entity's .class file size is large.
* [OPENJPA-403] - LoadFetchGroup patch (OPENJPA-370) introduces NPE
* [OPENJPA-405] - need extract space in the message text
* [OPENJPA-409] - Quick message updates
* [OPENJPA-410] - Change "connecting to dictionary" message from Info to Trace
* [OPENJPA-413] - Fix some message text in the localizer.properties files
* [OPENJPA-415] - Garbage collection of AbstractResultList instance closes active connection
* [OPENJPA-416] - Unclear exception if an unknown external value is used
* [OPENJPA-419] - Merging graphs that include managed instances fails
* [OPENJPA-420] - JPQL constructor query close the <SELECT DISTINCT> feature?
* [OPENJPA-421] - OpenJPA generates bad SQL before configuration fully populated
* [OPENJPA-422] - Calendar objects contained in a detached Entity still have a "live" StateManagerImpl
* [OPENJPA-423] - Deadlock victim exception getting sequence value with SQLServer
* [OPENJPA-426] - Incorrect DEFERRABLE usage with PostgreSQL
* [OPENJPA-427] - PostgresDictionary should set "63" as "maxAutoAssignNameLength".
* [OPENJPA-437] - EntityManagerFactory is not thread-safe
* [OPENJPA-439] - Performance degradation in multi-transaction operations
* [OPENJPA-440] - Calendar instance doesn't appear to detach properly (or proxying of it is in error?)
* [OPENJPA-446] - Problem when setting String fields of detached objects
* [OPENJPA-447] - Query pagination broken for non-DB2 databases
* [OPENJPA-452] - Error in the XML equivalent in the "secondary table field mapping" example
* [OPENJPA-455] - Incorrect MySQL DDL Generation for integer types
* [OPENJPA-456] - Missed to validate the column name length for Join Column
* [OPENJPA-460] - Can't convert to: Time, InformixDictionary needs timeTypeName set to "DATETIME HOUR TO SECOND"
* [OPENJPA-464] - Performance improvement with Statement Batching support
* [OPENJPA-471] - iSeries DB2 problem with using @GeneratedValue(strategy=GenerationType.IDENTITY)
* [OPENJPA-472] - iSeries DB2 problem with using @GeneratedValue(strategy=GenerationType.SEQUENCE ...)
* [OPENJPA-476] - Query.setFirstResult and Query.setMaxResults don't take effect
* [OPENJPA-484] - H2Dictionary has 'useGetObjectForBlobs' set to true, which should be false
* [OPENJPA-489] - DB2Dictionary casts string data to VARCHAR(1000) regardless of data length
* [OPENJPA-498] - OpenJPA 1.1.0-SNAPSHOT attempts to mutate unmodifiable map in Glassfish
* [OPENJPA-505] - CLONE -Incorrect Oracle DDL Generation for integer types since OPENJPA-455
* [OPENJPA-506] - PreRemove method callback is never called; PreUpdate is always called
* [OPENJPA-508] - JPQL EXISTS clauses do not handle subclasses properly
* [OPENJPA-511] - Unable to execute native queries which start with the WITH keyword.
* [OPENJPA-512] - Maven build fails if -Dmaven.test.skip=true
* [OPENJPA-516] - Exceptions when persisting Entities with fields map to NVARCHAR columns
* [OPENJPA-518] - openJpa jar is being locked causing future deployments on an app server to fail
* [OPENJPA-529] - ManagedClassSubclasses stores table names twice.
* [OPENJPA-530] - Statement batching incorrectly re-arranged order of SQL statements organized by update managers
* [OPENJPA-532] - SchemaTool performs no function if no pu is found.
* [OPENJPA-535] - Javadoc spelling errors in SchemaFactory and Localizer
* [OPENJPA-536] - getMetaData() causes OutOfMemoryError under some cases
* [OPENJPA-537] - openjpa-parent pom should not overwrite central repository setting
* [OPENJPA-538] - In the case when user id and password are provided, openjpa should use them in the call to getConnection to avoid "Null userid is not supported" thrown from the backend.
* [OPENJPA-539] - Can't create a table with a field of java type "Map" in Derby.
* [OPENJPA-540] - Classloading issue with WAS, Spring, and OpenJPA
* [OPENJPA-542] - OracleDictionary.getEmptyClob uses its classloader instead of the current classloader.
* [OPENJPA-543] - Unclosed prepared statements in SQLStoreQuery.executeUpdate.
* [OPENJPA-547] - INNER JOIN Fetch query incorrectly generates LEFT join SQL
* [OPENJPA-552] - Do not recognize Connection* properties in persistence.xml in appl server container
* [OPENJPA-559] - java.rmi.MarshalException due to mismatched serialization UIDs of: Source (RepId RMI:org.apache.openjpa.kernel.DetachedStateManager
* [OPENJPA-562] - NPE when trying to invoke FieldMetada.getOrders() when a PersistenCollection field is being loaded.
* [OPENJPA-565] - Duplicate @NamedQuery terminates subsequent @NameQuery definitions in @NamedQueries
* [OPENJPA-567] - @OrderColumn generates duplicate order numbers.
* [OPENJPA-568] - Delete, re-insert and setting relationship in the same transaction results in
* [OPENJPA-573] - JPQL: The combination LIKE ESCAPE does not accept parameters
* [OPENJPA-576] - Recursively embedded entities generate an extra and reduntant SQL call to the database.
* [OPENJPA-577] - OpenJPA doesn't create LoggingConnectionDecorator instance if log trace is not enabled
* [OPENJPA-579] - JDO Projection query with for a complex object with a clob field fails
* [OPENJPA-585] - Got EntityExistsException when invoking EntityManager.merge() to persist a new entity bean with generated id and enhanced at deployment time
* [OPENJPA-587] - Sybase queries that select columns from derived tables fail OOTB
* [OPENJPA-588] - Test for checking the absolute index of field metadata fails
* [OPENJPA-589] - Can not retrieve M-to-M data when DataCache is on
* [OPENJPA-594] - Incorrect schema separator used for Informix tables
* [OPENJPA-595] - An error occurred while parsing the query filter "SELECT t FROM PessimisticA t WHERE t.id = ?1". Error message: No field named "id" in class "t"
Improvements
* [OPENJPA-338] - Remove unnecessary CAST in SQL statement for DB2
* [OPENJPA-374] - OpenJPA build process enhances Entity classes even when testing is deactivated via -Dtest=false
* [OPENJPA-407] - Cache SQL (or closer precursors to SQL) more aggressively
* [OPENJPA-448] - Documentation fixes (1. openjpa.NontransactionalWrite, 2. setRollbackOnly)
* [OPENJPA-454] - Better support for running unit tests on DB2
* [OPENJPA-488] - Simplify JPQL SUBSTRING clauses involving literal index and position data
* [OPENJPA-500] - OpenJPAEntityManager.isManaged() is a confusing method name
* [OPENJPA-522] - pushFetchGroup(s) and popFetchGroup(s) on OpenJPAEntityManager
* [OPENJPA-541] - Generate SQL92 JOIN syntax for Oracle 9 or later releases
* [OPENJPA-564] - Set correct DBDictionary properties for MySQL based on MySQL version
* [OPENJPA-570] - Misleading "Found duplicate query" warning message
OpenJPA 1.0.2 Release Notes
Bugs
* [OPENJPA-135] - join fetch not returning duplicate references which not conforming to ejb3.0 spec
* [OPENJPA-211] - CLONE -java.lang.VerifyError on websphere 6.1 with Spring 2.0.3 and OpenJpa 0.96/0.97
* [OPENJPA-251] - org.apache.openjpa.enhance.Reflection.getDeclaredMethod() has undefined behavior, leading to VM-dependent crashes
* [OPENJPA-258] - MetaDataInheritanceComparator is not transitive; C > B > A > C leads to out-of-memory crash in PCEnhancer
* [OPENJPA-322] - Timezone on the Calendar object lost in proxying
* [OPENJPA-329] - Generic interface may cause the openjpa Reflection code to pickup the wrong getter method
* [OPENJPA-331] - Allow BigInteger and other Basic types as Primary Keys
* [OPENJPA-366] - InternalException thrown in BrokerImpl.endOperation
* [OPENJPA-367] - PCEnhancer does not find meta data for entities using pure XML annotation
* [OPENJPA-370] - LoadFetchGroup annotation was not recognized during the fetch1
* [OPENJPA-401] - UnsatisfiedLinkError in MappingToolTask when using DB2 JDBC driver
* [OPENJPA-419] - Merging graphs that include managed instances fails
* [OPENJPA-420] - JPQL constructor query close the <SELECT DISTINCT> feature?
* [OPENJPA-437] - EntityManagerFactory is not thread-safe
* [OPENJPA-446] - Problem when setting String fields of detached objects
* [OPENJPA-447] - Query pagination broken for non-DB2 databases
* [OPENJPA-452] - Error in the XML equivalent in the "secondary table field mapping" example
* [OPENJPA-471] - iSeries DB2 problem with using @GeneratedValue(strategy=GenerationType.IDENTITY)
* [OPENJPA-472] - iSeries DB2 problem with using @GeneratedValue(strategy=GenerationType.SEQUENCE ...)
* [OPENJPA-476] - Query.setFirstResult and Query.setMaxResults don't take effect
* [OPENJPA-506] - PreRemove method callback is never called; PreUpdate is always called
* [OPENJPA-508] - JPQL EXISTS clauses do not handle subclasses properly
* [OPENJPA-511] - Unable to execute native queries which start with the WITH keyword.
OpenJPA 1.0.1 Release Notes
Bugs Fixed
* [OPENJPA-113] - when you specify columm table="empbean" in the xml file entity id or basic type when empbean is the default table name, the mapping tool generates extra foreign key field (eg.EmpBean_empid) in the table produced.
* [OPENJPA-282] - Postgresql does not support deferred unique constraints.
* [OPENJPA-295] - ArrayIndexOutofBoundsException when under load and within a managed Transaction
* [OPENJPA-326] - NPE if a discriminator column is specified without discriminator type in orm.xml
* [OPENJPA-335] - Logic in getters for entities with property access causes the PCEnhancer to hang
* [OPENJPA-339] - Java 2 security Access denied in File.toURL() call
* [OPENJPA-343] - Do not call setRollbackOnly on inactive Transactions
* [OPENJPA-346] - PCEnhancerAgent backwards-compatibility setting overly-enables enhancement
* [OPENJPA-347] - Performance Issue with Lazy Loaded Foreign Keys
* [OPENJPA-353] - Character discriminators are not converted correctly if storeCharsAsNumbers = true
* [OPENJPA-355] - OpenJPA Log4J factory incorrectly handles logging level
* [OPENJPA-356] - DB2 requires CASTs when parameters appear in SELECT clause
* [OPENJPA-357] - Use case where FetchGroup A includes FecthGroup B is not honoured by fetch operations
* [OPENJPA-358] - Recursion Depth for Field f should be calculated w.r.t active fetch groups and not all fetch groups
* [OPENJPA-360] - SQL FOR UPDATE OF incorrectly generated for DB2/NT SQL0816
* [OPENJPA-361] - Incorrect GREG_OFFSET offset or inconsistent usage in UUIDGenerator
* [OPENJPA-367] - PCEnhancer does not find meta data for entities using pure XML annotation
* [OPENJPA-368] - Multithreaded client fails randomly on EntityManager.persist() with out transaction context.
* [OPENJPA-369] - AccessDeclaredMembers RuntimePermission requires by Solaris JDK with security enabled
* [OPENJPA-372] - PCEnhancer throws away its classloader
* [OPENJPA-375] - DB2 autoCommit(true) causes Result Set prematurely closed in WebContainer JEE environment.
* [OPENJPA-378] - DB2 SQL incorrectly generating "FETCH FIRST n ROWS ONLY" in subselects
* [OPENJPA-380] - Connecting to database when an unused emf is closed
* [OPENJPA-382] - Overriding column names for Byte[] attributes causes exception.
* [OPENJPA-385] - IndexOutOfBounds exception when parsing ".class" files
* [OPENJPA-387] - Getting "java.lang.ClassNotFoundException" when loading datacache plug-in which is a class outside of OpenJPA package.
* [OPENJPA-388] - MappingToolTask can't find persistence meta data.
* [OPENJPA-389] - em.getTransaction().commit() is not issuing database commit for NativeQuery requesting updates
* [OPENJPA-394] - DB2 CAST VARCHAR type missing LENGTH
* [OPENJPA-395] - Accessing short Foreign Key metadata fields as ints causes problems on iSeries
* [OPENJPA-396] - Cloning Calendar proxies doesn't detach from StateManager
* [OPENJPA-397] - schematool ant task always requires files
* [OPENJPA-399] - openjpa did not handle multiple schema names with same table name
* [OPENJPA-401] - UnsatisfiedLinkError in MappingToolTask when using DB2 JDBC driver
* [OPENJPA-402] - Unable to detect an valid Entity's meta data when the entity's .class file size is large.
* [OPENJPA-403] - LoadFetchGroup patch (OPENJPA-370) introduces NPE
* [OPENJPA-405] - need extract space in the message text
* [OPENJPA-409] - Quick message updates
* [OPENJPA-410] - Change "connecting to dictionary" message from Info to Trace
* [OPENJPA-413] - Fix some message text in the localizer.properties files
* [OPENJPA-415] - Garbage collection of AbstractResultList instance closes active connection
* [OPENJPA-416] - Unclear exception if an unknown external value is used
* [OPENJPA-421] - OpenJPA generates bad SQL before configuration fully populated
* [OPENJPA-422] - Calendar objects contained in a detached Entity still have a "live" StateManagerImpl
* [OPENJPA-423] - Deadlock victim exception getting sequence value with SQLServer
Improvements
* [OPENJPA-338] - Remove unnecessary CAST in SQL statement for DB2
Sub-tasks
* [OPENJPA-408] - Improve error processing for openjpa.RuntimeUnenhancedClasses property settings
OpenJPA 1.0.0 Release Notes
Bugs fixed
* [OPENJPA-61] - Missing usage of TransactionSynchronizationRegistry
* [OPENJPA-86] - "uuid-hex" generator does not make affect in orm.xml
* [OPENJPA-143] - Problems with Single Table Inheritance Strategy (and
Discriminator Type of Integer)
* [OPENJPA-165] - QueryImpl.setFirstResult does not take already set
maxResults into account
* [OPENJPA-177] - When using NOT NULL constraint on foreign key it is
not possible to use CascadeType.ALL and GeneratedId
* [OPENJPA-199] - bulk update gets parsing exception trying to update
an attribute of an embedded class
* [OPENJPA-244] - Java 2 Security enablement
* [OPENJPA-248] - ForeignKey cascade delete action not working
* [OPENJPA-257] - Getter/Setter type inconsistency in Entity IdClass
* [OPENJPA-269] - Informix doesn't support subselects or using table
aliases in a delete statement.
* [OPENJPA-271] - DB2 missing JDBC driver 2 support
* [OPENJPA-272] - @GenerateValue (AUTO) doesn't work with Property
level access
* [OPENJPA-274] - JPQL queries cannot access version fields, including
bulk updates
* [OPENJPA-278] - OpenJPAQuery.getDataStoreActions() returns an empty
String array
* [OPENJPA-280] - Enhancement failure for inherited fields introduced
with change 532137
* [OPENJPA-281] - EAGER not the default fetch type without the @Basic
annotation
* [OPENJPA-284] - TableJDBCSeq for GeneratedValue.TABLE did not handle
initialValue correctly
* [OPENJPA-285] - Multiple deploy/undeploy leaks memory in PCRegistry
* [OPENJPA-287] - Generated methods on superclasses are not visible to
subclasses
* [OPENJPA-294] - Exception while enchnancing the java classes using
OpenJPA PCEnhancerTask with build.xml
* [OPENJPA-296] - UUID algorithm generating non-unique values
sometimes
* [OPENJPA-304] - Problems with DepthFirstAnalysis and the IBM JDK
* [OPENJPA-308] - Postgres: bytea vs. oid handling in
PreparedStatement.setNull() calls
* [OPENJPA-311] - Problem loading classes with OSGi classloaders
* [OPENJPA-312] - derby fails with duplicate primary key(s) in group
by list
* [OPENJPA-313] - list of objects returned by query partially correct
* [OPENJPA-314] - Unenhanced complex id in MappedSuperclass causes NPE
* [OPENJPA-315] - Unenhanced generated id field of a primitive wrapper
type causes NPE
* [OPENJPA-320] - Do not use System Tables (SYS*) with DB2
* [OPENJPA-321] - DB2 ABS Casting problem
* [OPENJPA-322] - Timezone on the Calendar object lost in proxying
* [OPENJPA-323] - Cleanup some message text
* [OPENJPA-256] - java.lang.ClassNotFoundException:
org.apache.openjpa.util.CacheMap in a jetty spring environment
Sub-tasks
* [OPENJPA-279] - Fixed missing lookup for non-jta-data-source in
JDBCConfigurationImpl.
* [OPENJPA-297] - Lazy loading must be ignored in certain unenhanced
cases
* [OPENJPA-298] - Miscellaneous documentation improvements
* [OPENJPA-299] - Provide a means to enable the old enhancing agent
Improvements
* [OPENJPA-259] - Ability to parse EJB QL multiline queries in orm.xml
* [OPENJPA-266] - Add Extensibility: Change "private" field/method to
"protected" or "public" in OpenJPA classes to be extendable
* [OPENJPA-275] - Bulk updates: version information should be
automatically maintained when the query does not
New Features
* [OPENJPA-168] - sql optimize n rows query hint
* [OPENJPA-239] - Option for the reverse mapping tool to generate
mapping annotations
* [OPENJPA-262] - Event notification of BrokerFactory creation
* [OPENJPA-263] - Introducing getAll(List) method for data cache to be
called by loadAll() will allow data cache plug-ins to leverage the
advantage of any third-party cache that provides a way to get
multiple object in one call by providing a list of keys (oids).
* [OPENJPA-317] - API formalization pre-1.0
2007-08-29 15:37:59 -04:00
OpenJPA 0.9.7 Release Notes
Bugs
The following bugs have been fixed for release 0.9.7
2008-06-11 20:01:46 -04:00
* [OPENJPA-16] - NPE in createQuery for EJB QL with nested correlated
2007-08-29 15:37:59 -04:00
subqueries
2008-06-11 20:01:46 -04:00
* [OPENJPA-21] - Time is missing from list of mutable classes.
* [OPENJPA-22] - locate & substring queries fail both db2 & derby,
2007-08-29 15:37:59 -04:00
cannot use parameter markers in expression ?-?
2008-06-11 20:01:46 -04:00
* [OPENJPA-23] - -418 sqlexception using DB2 and EJB QL with SQRT or MOD
* [OPENJPA-24] - Allow OpenJPA to be extensible
* [OPENJPA-25] - Incorrect SQL generated for queries involving more than
2007-08-29 15:37:59 -04:00
one AbstractSchemaNames, generated SQL FROM clause is missing 'Table
alias'
2008-06-11 20:01:46 -04:00
* [OPENJPA-35] - In-memory Delete operation fails with active DataCache
* [OPENJPA-41] - transforming classes doesn't work
* [OPENJPA-48] - parsing error - cast of subselect does not work
* [OPENJPA-50] - bad sql pushdown, cast changes datatype
* [OPENJPA-53] - bad sql pushdown for nested subselects, missing nested
2007-08-29 15:37:59 -04:00
subselect
2008-06-11 20:01:46 -04:00
* [OPENJPA-54] - bad sql pushdown, should use all syntax
* [OPENJPA-56] - in derby concat with input parameter needs a cast,
2007-08-29 15:37:59 -04:00
otherwise becomes long varchar and some operations do not work
2008-06-11 20:01:46 -04:00
* [OPENJPA-60] - Specifying the wrong persistence implementation in
2007-08-29 15:37:59 -04:00
persistence.xml leads to misleading error message
2008-06-11 20:01:46 -04:00
* [OPENJPA-62] - Ejbql join queries show invalid null Entities when run
2007-08-29 15:37:59 -04:00
in a new persistence context where no entity instances exist.
2008-06-11 20:01:46 -04:00
* [OPENJPA-71] - Caching primitive array types consumes excessive memory
* [OPENJPA-77] - Problems in default setting in DB2Dictionary , also
2007-08-29 15:37:59 -04:00
missing support for DB2 z/OS platforms
2008-06-11 20:01:46 -04:00
* [OPENJPA-80] - Bad Escaping for LIKE in MySQL
* [OPENJPA-98] - Java deadlock when insert in t1 and find in t2 when
2007-08-29 15:37:59 -04:00
using IBM JVM 1.5.0
2008-06-11 20:01:46 -04:00
* [OPENJPA-100] - entries failing to be processed for persistence unit
2007-08-29 15:37:59 -04:00
rooted in an EAR
2008-06-11 20:01:46 -04:00
* [OPENJPA-102] - JTA transaction rollback, nonexistant instances,
2007-08-29 15:37:59 -04:00
transactional persistence context => failures during afterCompletion()
and close()
2008-06-11 20:01:46 -04:00
* [OPENJPA-103] - Default Listeners not being processed correctly
* [OPENJPA-104] - OpenJPA does not detach instances on rollback()
* [OPENJPA-107] - @SqlResultSetMappings fails in mapping tool with
2007-08-29 15:37:59 -04:00
java.lang.ArrayStoreException
2008-06-11 20:01:46 -04:00
* [OPENJPA-108] - @AttributeOverrides fails in mapping tool with
2007-08-29 15:37:59 -04:00
java.lang.ArrayStoreException
2008-06-11 20:01:46 -04:00
* [OPENJPA-109] - every NativeQuery using SqlResultSetMapping fails at
2007-08-29 15:37:59 -04:00
runtime with There is no query result mapping for "null" with name
"xxx" when the entity is persisted in a different method than the
method doing the query.
2008-06-11 20:01:46 -04:00
* [OPENJPA-110] - Every NamedNativeQuery using ResultSetMapping fails at
2007-08-29 15:37:59 -04:00
runtime with class cast exception when try to iterate over list
2008-06-11 20:01:46 -04:00
* [OPENJPA-111] - native queries fail when use named parameters
* [OPENJPA-115] - Bottleneck(s) with using OpenJPA in a
2007-08-29 15:37:59 -04:00
Container-managed environment
2008-06-11 20:01:46 -04:00
* [OPENJPA-116] - EntityManager.getDelegate should throw an
2007-08-29 15:37:59 -04:00
IllegalStateException
2008-06-11 20:01:46 -04:00
* [OPENJPA-118] - AutoDetach property has no effect
* [OPENJPA-119] - EntityManager.clear() should not implicitly invoke the
2007-08-29 15:37:59 -04:00
flush operation
2008-06-11 20:01:46 -04:00
* [OPENJPA-121] - Table name defaults to the class name instead of the
2007-08-29 15:37:59 -04:00
entity name
2008-06-11 20:01:46 -04:00
* [OPENJPA-122] - EntityManager does not throw exceptions after close()
2007-08-29 15:37:59 -04:00
in required cases
2008-06-11 20:01:46 -04:00
* [OPENJPA-132] - java.lang.NoSuchMethodError for entity with ID of type
2007-08-29 15:37:59 -04:00
java.sql.Date
2008-06-11 20:01:46 -04:00
* [OPENJPA-133] - Can't find non-public callback methods with superclass
2007-08-29 15:37:59 -04:00
or interface parameters
2008-06-11 20:01:46 -04:00
* [OPENJPA-134] - Extra unneeded SQL joins for OneToMany relationship
2007-08-29 15:37:59 -04:00
with fetch type EAGER
2008-06-11 20:01:46 -04:00
* [OPENJPA-139] - PersistenceException merging an entity with a Calendar
2007-08-29 15:37:59 -04:00
field.
2008-06-11 20:01:46 -04:00
* [OPENJPA-140] - Wrong package name in test classes
* [OPENJPA-142] - Entity name is ignored when specified in the orm.xml
2007-08-29 15:37:59 -04:00
file
2008-06-11 20:01:46 -04:00
* [OPENJPA-144] - JDBCConfigurationImpl does not support JNDI lookup for
2007-08-29 15:37:59 -04:00
non-jta-data-source.
2008-06-11 20:01:46 -04:00
* [OPENJPA-146] - Entity enhancement fails while using EmbeddedId on a
2007-08-29 15:37:59 -04:00
MappedSuperclass
2008-06-11 20:01:46 -04:00
* [OPENJPA-150] - @Column in @AttributeOverride not honoring table
2007-08-29 15:37:59 -04:00
attribute that maps to a secondary table in mappedsuperclass entity
2008-06-11 20:01:46 -04:00
* [OPENJPA-154] - OptimisticLockException working with Savepoints
* [OPENJPA-155] - java.lang.ArrayIndexOutOfBoundsException during commit
* [OPENJPA-157] - NullPointerException when running query with null
2007-08-29 15:37:59 -04:00
parameter
2008-06-11 20:01:46 -04:00
* [OPENJPA-162] - @OrderBy on @OneToMany does not allow ordering by @Id
2007-08-29 15:37:59 -04:00
value
2008-06-11 20:01:46 -04:00
* [OPENJPA-174] - error when find()'ing an abstract class
* [OPENJPA-175] - Eager selects by PagingResultObjectProvider may not
2007-08-29 15:37:59 -04:00
use the FetchBatchSize
2008-06-11 20:01:46 -04:00
* [OPENJPA-179] - Schemas defined in orm.xml are only applied when a
2007-08-29 15:37:59 -04:00
name is also specified.
2008-06-11 20:01:46 -04:00
* [OPENJPA-181] - ClassCastException when executing bulk delete on an
2007-08-29 15:37:59 -04:00
entity that owns a OneToOne with a Cascade.DELETE when DataCache is on
2008-06-11 20:01:46 -04:00
* [OPENJPA-185] - optional attribute is not overriden by xml descriptor
* [OPENJPA-186] - Build failure of OpenJPA sources from trunk
2007-08-29 15:37:59 -04:00
* [OPENJPA-202] - after invoking LRS processing in a client by calling an
@LRS annotated relationship, the next em.clear()/em.close() gets
org.apache.openjpa.persistence.InvalidStateException: You cannot
transfer large result set fields from one object or field to another
* [OPENJPA-208] - NoResultException and NonUniqueResultException are not
thrown when expected
* [OPENJPA-214] - Need to support floating point primary keys
Improvements
Improvements made for release 0.9.7
2008-06-11 20:01:46 -04:00
* [OPENJPA-10] - persistence unit name should be default diagnostic
2007-08-29 15:37:59 -04:00
context for standard OpenJPA log impl
2008-06-11 20:01:46 -04:00
* [OPENJPA-37] - Support ant typedefs for OpenJPA tasks
* [OPENJPA-55] - Allow executeUpdate() invocations on native queries
* [OPENJPA-57] - persistence_1_0.xsd is missing
* [OPENJPA-63] - Better pessimistic lock support for DB2 v8.2+
* [OPENJPA-151] - Added field in enhanced vesrion of a class is not
2007-08-29 15:37:59 -04:00
serialized. Hence the change in detached+serialized instances is not
registered under certain conditions.
2008-06-11 20:01:46 -04:00
* [OPENJPA-153] - WebSphere and non-jta-data-source and default
2007-08-29 15:37:59 -04:00
ManagedRuntime
2008-06-11 20:01:46 -04:00
* [OPENJPA-158] - OpenJPA logs overly-verbose at INFO level
* [OPENJPA-161] - Overuse of synchronization in AbstractBrokerFactory
* [OPENJPA-166] - Track the reason why a setRollbackOnly invocation
2007-08-29 15:37:59 -04:00
was made
2008-06-11 20:01:46 -04:00
* [OPENJPA-176] - Exception prefixes should be human-readable
* [OPENJPA-196] - Ease the restrictions on forcing a matche between
2007-08-29 15:37:59 -04:00
the number of declared and assigned positional parameters
New Features
Features added for release 0.9.7
2008-06-11 20:01:46 -04:00
* [OPENJPA-92] - Support for H2 Database Engine
* [OPENJPA-93] - Sequence generation in a JTA environment should not
2007-08-29 15:37:59 -04:00
require non-JTA datasource
2008-06-11 20:01:46 -04:00
* [OPENJPA-94] - Allow MappingTool and persistence.xml to support
2007-08-29 15:37:59 -04:00
drop-create for database schema
2008-06-11 20:01:46 -04:00
* [OPENJPA-182] - db2 update lock syntax WITH USE AND KEEP UPDATE
2007-08-29 15:37:59 -04:00
LOCKS
Task
Tasks done for release 0.9.7
2008-06-11 20:01:46 -04:00
* [OPENJPA-36] - Add cwiki url to incubator status page
2007-08-29 15:37:59 -04:00
Test
Additional testing done for release 0.9.7
2008-06-11 20:01:46 -04:00
* [OPENJPA-40] - Testing OpenJPA and Spring integration fails
2007-08-29 15:37:59 -04:00