mirror of https://github.com/apache/openjpa.git
553 lines
35 KiB
Plaintext
553 lines
35 KiB
Plaintext
Release Notes for OpenJPA
|
|
|
|
* Overview
|
|
* License
|
|
* Prerequisites
|
|
* Documentation
|
|
* Getting Involved
|
|
* Bugs
|
|
* Improvements
|
|
* New Features
|
|
* Task
|
|
* Test
|
|
|
|
Overview
|
|
|
|
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.
|
|
|
|
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
|
|
|
|
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 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
|
|
|
|
OpenJPA 0.9.7 Release Notes
|
|
|
|
Bugs
|
|
|
|
The following bugs have been fixed for release 0.9.7
|
|
* [OPENJPA-16] - NPE in createQuery for EJB QL with nested correlated
|
|
subqueries
|
|
* [OPENJPA-21] - Time is missing from list of mutable classes.
|
|
* [OPENJPA-22] - locate & substring queries fail both db2 & derby,
|
|
cannot use parameter markers in expression ?-?
|
|
* [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
|
|
one AbstractSchemaNames, generated SQL FROM clause is missing 'Table
|
|
alias'
|
|
* [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
|
|
subselect
|
|
* [OPENJPA-54] - bad sql pushdown, should use all syntax
|
|
* [OPENJPA-56] - in derby concat with input parameter needs a cast,
|
|
otherwise becomes long varchar and some operations do not work
|
|
* [OPENJPA-60] - Specifying the wrong persistence implementation in
|
|
persistence.xml leads to misleading error message
|
|
* [OPENJPA-62] - Ejbql join queries show invalid null Entities when run
|
|
in a new persistence context where no entity instances exist.
|
|
* [OPENJPA-71] - Caching primitive array types consumes excessive memory
|
|
* [OPENJPA-77] - Problems in default setting in DB2Dictionary , also
|
|
missing support for DB2 z/OS platforms
|
|
* [OPENJPA-80] - Bad Escaping for LIKE in MySQL
|
|
* [OPENJPA-98] - Java deadlock when insert in t1 and find in t2 when
|
|
using IBM JVM 1.5.0
|
|
* [OPENJPA-100] - entries failing to be processed for persistence unit
|
|
rooted in an EAR
|
|
* [OPENJPA-102] - JTA transaction rollback, nonexistant instances,
|
|
transactional persistence context => failures during afterCompletion()
|
|
and close()
|
|
* [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
|
|
java.lang.ArrayStoreException
|
|
* [OPENJPA-108] - @AttributeOverrides fails in mapping tool with
|
|
java.lang.ArrayStoreException
|
|
* [OPENJPA-109] - every NativeQuery using SqlResultSetMapping fails at
|
|
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.
|
|
* [OPENJPA-110] - Every NamedNativeQuery using ResultSetMapping fails at
|
|
runtime with class cast exception when try to iterate over list
|
|
* [OPENJPA-111] - native queries fail when use named parameters
|
|
* [OPENJPA-115] - Bottleneck(s) with using OpenJPA in a
|
|
Container-managed environment
|
|
* [OPENJPA-116] - EntityManager.getDelegate should throw an
|
|
IllegalStateException
|
|
* [OPENJPA-118] - AutoDetach property has no effect
|
|
* [OPENJPA-119] - EntityManager.clear() should not implicitly invoke the
|
|
flush operation
|
|
* [OPENJPA-121] - Table name defaults to the class name instead of the
|
|
entity name
|
|
* [OPENJPA-122] - EntityManager does not throw exceptions after close()
|
|
in required cases
|
|
* [OPENJPA-132] - java.lang.NoSuchMethodError for entity with ID of type
|
|
java.sql.Date
|
|
* [OPENJPA-133] - Can't find non-public callback methods with superclass
|
|
or interface parameters
|
|
* [OPENJPA-134] - Extra unneeded SQL joins for OneToMany relationship
|
|
with fetch type EAGER
|
|
* [OPENJPA-139] - PersistenceException merging an entity with a Calendar
|
|
field.
|
|
* [OPENJPA-140] - Wrong package name in test classes
|
|
* [OPENJPA-142] - Entity name is ignored when specified in the orm.xml
|
|
file
|
|
* [OPENJPA-144] - JDBCConfigurationImpl does not support JNDI lookup for
|
|
non-jta-data-source.
|
|
* [OPENJPA-146] - Entity enhancement fails while using EmbeddedId on a
|
|
MappedSuperclass
|
|
* [OPENJPA-150] - @Column in @AttributeOverride not honoring table
|
|
attribute that maps to a secondary table in mappedsuperclass entity
|
|
* [OPENJPA-154] - OptimisticLockException working with Savepoints
|
|
* [OPENJPA-155] - java.lang.ArrayIndexOutOfBoundsException during commit
|
|
* [OPENJPA-157] - NullPointerException when running query with null
|
|
parameter
|
|
* [OPENJPA-162] - @OrderBy on @OneToMany does not allow ordering by @Id
|
|
value
|
|
* [OPENJPA-174] - error when find()'ing an abstract class
|
|
* [OPENJPA-175] - Eager selects by PagingResultObjectProvider may not
|
|
use the FetchBatchSize
|
|
* [OPENJPA-179] - Schemas defined in orm.xml are only applied when a
|
|
name is also specified.
|
|
* [OPENJPA-181] - ClassCastException when executing bulk delete on an
|
|
entity that owns a OneToOne with a Cascade.DELETE when DataCache is on
|
|
* [OPENJPA-185] - optional attribute is not overriden by xml descriptor
|
|
* [OPENJPA-186] - Build failure of OpenJPA sources from trunk
|
|
* [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
|
|
* [OPENJPA-10] - persistence unit name should be default diagnostic
|
|
context for standard OpenJPA log impl
|
|
* [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
|
|
serialized. Hence the change in detached+serialized instances is not
|
|
registered under certain conditions.
|
|
* [OPENJPA-153] - WebSphere and non-jta-data-source and default
|
|
ManagedRuntime
|
|
* [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
|
|
was made
|
|
* [OPENJPA-176] - Exception prefixes should be human-readable
|
|
* [OPENJPA-196] - Ease the restrictions on forcing a matche between
|
|
the number of declared and assigned positional parameters
|
|
|
|
New Features
|
|
|
|
Features added for release 0.9.7
|
|
* [OPENJPA-92] - Support for H2 Database Engine
|
|
* [OPENJPA-93] - Sequence generation in a JTA environment should not
|
|
require non-JTA datasource
|
|
* [OPENJPA-94] - Allow MappingTool and persistence.xml to support
|
|
drop-create for database schema
|
|
* [OPENJPA-182] - db2 update lock syntax WITH USE AND KEEP UPDATE
|
|
LOCKS
|
|
|
|
Task
|
|
|
|
Tasks done for release 0.9.7
|
|
* [OPENJPA-36] - Add cwiki url to incubator status page
|
|
|
|
Test
|
|
|
|
Additional testing done for release 0.9.7
|
|
* [OPENJPA-40] - Testing OpenJPA and Spring integration fails
|
|
|