Middleware
Application Server
Release Notes
10 g (9.0.4.8) / 10 g Release 2 (10.1.2)
July 2005
This document describes the changes introduced in Oracle Application Server TopLink. Changes in this release can be applied over previous versions of both OracleAS TopLink 10 g (9.0.4.x) and 10 g Release 2 (10.1.2).
This document specifically discusses:
|
Note: This document applies to all supported platforms. All file paths and script names are identical on all platforms. By default, this document uses the Windows file path separator (\ ). Substitute the file path separator appropriate for your platform as required.
|
This section describes resolved issues in this release.
Table 1 lists the resolved issues for the OracleAS TopLink Foundation Library and CMP support.
Table 2 lists the resolved issues for the OracleAS TopLink Mapping Workbench.
Table 1 Resolved Issues for the OracleAS TopLink Foundation and CMP Support
| Reference Number | Description |
|---|---|
|
4436710 |
When updating an object in OracleAS TopLink and using an event, for example,
|
|
4414692 |
Parameterized batch writing has been further optimized when writing objects that use multiple tables or inheritance. As a result, the number of batches that are sent has been optimized. |
|
4403653 |
In rare cases, it was possible that disconnecting from a session and then logging back in caused the reconnection to fail. This happened when statement caching and external connection pooling was used and was called prior to the initial logout. |
|
4381709 |
When using OracleAS TopLink on BEA WebLogic in highly concurrent environments, OracleAS TopLink no longer returns a WebLogic wrapper object when a
|
|
4378539, 4395860, 4395841, 4309144 |
An unusual condition where OracleAS TopLink inserted an object twice when a
|
|
4364359 |
The introduction of newer versions of the Oracle JDBC driver caused the
|
|
4364283 |
Cache synchronization has been optimized to reduce the number of objects that are sent to other servers. In previous versions, any object registered in a
|
|
4318924 |
In this release OracleAS TopLink now provides the
|
|
4301748 |
OracleAS TopLink now correctly reads the
|
|
4279526 |
In this release it is now possible to set a new collection into an already existing relationship that uses transparent indirection and have the changes discovered by OracleAS TopLink. In previous versions, this could result in a
|
|
4082205 |
Enabling bidirectional relationship maintenance on the back pointer side of a one-to-many mapping using a Transparent map no longer results in
|
Table 2 Resolved Issues for the OracleAS TopLink Mapping Workbench
| Reference Number | Description |
|---|---|
|
4285643 |
To significantly reduce load time for projects that contain large numbers of descriptors, the performance and memory consumption in the OracleAS TopLink Mapping Workbench for large projects has been further optimized. |
|
4294409 |
Refreshing a Descriptor's class that implements a directly-declared interface, as well as the same interface through it's superclass, no longer un-checks the corresponding implementor selection in the related Interface Descriptor's Implementors check-box list. In previous releases, the implementor for the class Descriptor would become unchecked. |
This section describes resolved issues in this release.
Table 3 lists the resolved issues for the OracleAS TopLink Foundation Library and CMP support.
Table 4 lists the resolved issues for the OracleAS TopLink Mapping Workbench.
Table 3 Resolved Issues for the OracleAS TopLink Foundation and CMP Support
| Reference Number | Description |
|---|---|
|
4252150 |
Rolling back a JTA transaction now disassociates the JTA transaction from the current thread. In previous versions, calling rollback and then starting a new transaction resulted in exceptions that indicated that a nested transaction was being started. |
|
4240751 |
Outer joins across many-to-many mappings on database platforms that require outer join syntax in the
|
|
4225030 |
JMS cache synchronization now correctly uses the provided username and password when creating a cache synchronization connection. In previous versions, the username and password were not used for the connection. |
|
4211104 |
A
|
|
4178142 |
A race condition that could cause a
|
|
4172474 |
When a
|
|
4147755 |
A race condition that could cause a
|
|
4143676 |
Executing a query that binds a null parameter no longer throws a
|
|
4142937 |
A temporary session variable called session in
|
|
4125417 |
If empty objects are placed in the cache of a remote session as a result of code written in a
|
|
4104613 |
API has been added to ModifyQuery to increase control of batch writing. The following is a description of the API: void
Allow setting this query to be the last statement added to a batch statement and ensure it is flushed on execution. Setting to True will cause the batch statement to be sent to the database. Default setting of False causes the delay of the batch statement execution. This allows additional statements to be added. Setting to True reduces the efficiency of batch writing. This has no effect if batch writing is not enabled. |
|
3953038 |
The
|
Table 4 Resolved Issues for the OracleAS TopLink Mapping Workbench
| Reference Number | Description |
|---|---|
|
4180274 |
Refreshing a class in OracleAS TopLink Mapping Workbench no longer unselects it from the list of implementors in its related Interface descriptor. In some cases, a refresh of a class caused the related implementor in the Interface descriptor to become unchecked. |
|
4252816 |
In previous versions, using the external
|
|
4255767 |
In this release, the external
|
This section describes resolved issues in this release.
Table 5 lists the resolved issues for the OracleAS TopLink Foundation Library and CMP support.
Table 6 lists the resolved issues for the OracleAS TopLink Mapping Workbench.
Table 5 Resolved Issues for the OracleAS TopLink Foundation and CMP Support
| Reference Number | Description |
|---|---|
|
4079276 |
When the target of a One-to-one mapping is set to an object that does not have a OracleAS TopLink descriptor, but inherits from an object with a OracleAS TopLink descriptor, OracleAS TopLink no longer throws a stack overflow exception. |
|
4078672 |
The descriptor is now included in all relevant
|
|
4072224 |
Introduced OracleAS TopLink 10 g (9.0.4.5), OracleAS TopLink no longer appends duplicate fields to SQL when executing a query that includes mapping-level-joining. |
|
4071929 |
OracleAS TopLink no longer throws a
|
|
4041572/3975643/3927740 |
Concurrency fixes have been made to both the OracleAS TopLink JCEEncryptor's encryption and decryption algorithms. In previous versions, an
|
|
4037010 |
Eliminated a dependency on the order of the
|
|
4034159 |
The deployment XML with the
|
|
4031030 |
OracleAS TopLink now correctly inserts an empty string into a column of type
|
|
3995468 |
In-Memory queries across a direct query key that points to an attribute of an aggregate now work correctly. In previous versions, expressions with comparisons to the direct query key always returned as false. |
|
3954671 |
An
|
|
3953430 |
Queries with multiple order-by expressions that reference a column of the same name no longer result in the table referenced by one of the expressions being excluded from the
|
|
3950439 |
Sequencing now works correctly in the Unit of Work when inserting objects with primary keys mapped as aggregate objects when they are held in an
|
|
3939635/3911318 |
Acquiring a
|
|
3936427 |
In-memory queries that use the
|
|
3909445 |
This release includes improvements to the expression framework when doing comparisons with mapped objects. For example: A and B are mapped objects with a bidirectional one-to-one mapping between them. The mapping is defined as A having a foreign key bid that maps to B's ID. The follow two scenarios now work: |
|
3884117 |
It is now possible to update an Aggregate object in an
|
|
3879510 |
Oracle9Platform now calls
|
Table 6 Resolved Issues for the OracleAS TopLink Mapping Workbench
| Reference Number | Description |
|---|---|
|
3865357 |
Detailed error information is now available for an unsuccessful database login attempt in the OracleAS TopLink Mapping Workbench. In previous versions, only basic error details appeared. |
|
3975212 |
It is now possible to refresh a large number of tables in the OracleAS TopLink Mapping Workbench at one time. In previous versions, an exception occurred when refreshing a large number of tables at once. |
This section describes resolved issues in this release.
Table 7 lists the resolved issues for the OracleAS TopLink Foundation Library and CMP support.
Table 8 lists the resolved issues for the OracleAS TopLink Mapping Workbench.
Table 7 Resolved Issues for the OracleAS TopLink Foundation and CMP Support
| Reference Number | Description |
|---|---|
|
3909343/3845361/ 3476483 |
Introduced changes to the way cache maintenance settings are managed. In OracleAS TopLink 9.0.4.1, the resolution of bug
3240668 resulted in the DatabaseQuery's
The
Instead, we have added to the
Customers that rely on the DatabaseQuery's default
|
|
3909292/2818222 |
If a JDBC connection is dropped during a database transaction, a
|
|
3894351 |
The OracleAS TopLink expression framework now supports expressions of the form
|
|
3878553 |
Queries that make use of a Read All Subclasses View, joined attributes, and no selection criteria now generate the correct SQL. In previous versions, OracleAS TopLink did not generate the correct table aliases for the joined tables and a SQLException was thrown. |
|
3867995 |
In this release, OracleAS TopLink provides support for BEA WebLogic Application Server 8.1 Service Pack 3. |
|
3815959 |
In a Unit of Work set to
|
|
3802197 |
OracleAS TopLink now supports binding the list of values provided in an expression using the
|
|
3800251 |
Sequencing now works correctly when the field sequenced is of type
|
|
3782866 |
OracleAS TopLink now correctly inserts data into columns of type CLOB when using a
|
|
3776687 |
Queries that make use of a Read All Subclasses View, an
|
|
3773040 |
|
|
3772265 |
In EJB 2.0 when a bean inherits an attribute and its accessor methods from an unmapped java class, and maps that attribute, OracleAS TopLink no longer throws an exception at deploy time. In previous versions, this configuration resulted in a
|
|
3760875 |
The
|
|
3721328/3718174 |
In this release, the resolution of bug 2767951 in OracleAS TopLink 10
g (9.0.4) has been further enhanced. Users can now specify a username and password in the
|
|
3717156/3710297 |
OracleAS TopLink no longer throws a
|
|
3615457 |
The
|
Table 8 Resolved Issues for the OracleAS TopLink Mapping Workbench
| Reference Number | Description |
|---|---|
|
3578542 |
The OracleAS TopLink Mapping Workbench no longer displays an incorrect warning when setting a valid class extraction method in a root descriptor's inheritance policy.In previous versions, the OracleAS TopLink Mapping Workbench incorrectly displayed the following warning: " The method you have specified for the inheritance policy's class extraction method on this descriptor is no longer a visible member of this class." |
This section describes resolved issues in this release.
Table 9 lists the resolved issues for the OracleAS TopLink Foundation Library and CMP support.
Table 10 lists the resolved issues for the OracleAS TopLink Mapping Workbench.
Table 9 Resolved Issues for the OracleAS TopLink Foundation and CMP Support
| Reference Number | Description |
|---|---|
|
3142898 |
The following issue was fixed in 9.0.3.6 and was recently determined to have solved the known issue related to multiple levels of joining. When descriptors use joining at multiple levels, OracleAS TopLink no longer returns objects beyond the second level as null. For example, consider an object model with A mapped to B with a one-to-one mapping and B mapped to C with a one-to-one mapping. Previously, if both mappings used joining and a query had been executed to read A, C would have been returned as null. |
|
3698046, 3602526 |
Oracle database types
Note: When mapping to a field of type
|
|
3691533, 3568141 |
The option to use an
Note: Oracle does not recommend using the trigger indirection setting. |
|
3684870 |
Session broker now supports cache synchronization. In previous version cache synchronization did not properly initialize when a session broker was logged in. |
|
3679259, 3522829 |
When an RMI-based clustering service is shut down, the associated remote objects are now unexported. This allows the VM to collect its garbage correctly and shutdown properly. |
|
3676472, 3679697 |
OracleAS TopLink no longer throws a
|
|
3645128, 3635694 |
Parameterized batch statements now work more cleanly. In previous versions, parameterized statements were not properly retrieved from the cache, and duplicate statements were not properly closed. This resulted in a large number of open statements and in reduced efficiency of batch writing. |
|
3622932 |
An issue introduced in OracleAS TopLink 9.0.4.1 related to subqueries in conjunction with objects involved in inheritance and the
Read Subclasses on Query option has been corrected. In previous versions, a
|
|
3617882 |
|
|
3610825 |
Reading objects in a bidirectional one to one relationship without indirection and with the descriptor settings
|
|
3608082, 3597197 |
OracleAS TopLink no longer throws a
For example, the following object model that could cause this situation: Class A int id B b string name Class B int bid C c Class C int cid string name Note: This would not occur if the attribute called name was found in class B. |
|
3584343 |
Relationships are no longer updated unnecessarily when the target is changed such that
Note: This would not result in a change to the actual data since the foreign key would be updated to the same value. |
|
3570561 |
OracleAS TopLink no longer throws
|
|
3566341 |
OracleAS TopLink no longer throws a
For example, the following scenario will now operate correctly:Class A has attributes id, description, bDescription. Class B is an aggregate of A containing a field called description which is mapped to bDescription in A. When an update occurred to either description or bDescription, OracleAS TopLink would throw a
|
Table 10 Resolved Issues for the OracleAS TopLink Mapping Workbench
| Reference Number | Description |
|---|---|
|
3419682 |
When migrating a 9.0.3.x project to 9.0.4.x with a broken MWClass reference, OracleAS TopLink no longer generates a 101 error. |
|
3630401 |
Problems deploying OracleAS TopLink Mapping Workbench projects with missing project classes on the classpath have been corrected. In previous versions, the OracleAS TopLink Mapping Workbench could throw exceptions if project classes could not be fully resolved on the classpath. Missing classes now correctly appear in a dialog when they can not be loaded. |
|
3630868 |
OracleAS TopLink Mapping Workbench no longer incorrectly removes inherited mappings when you rename a descriptor. |
|
3631200 |
When you remove a mapping for a given inherited attribute, OracleAS TopLink no longer removes other inherited mappings in the hierarchy that are mapped to that same attribute. |
|
3649368 |
Projects with incorrectly configured variable one-to-one mappings no longer cause
|
This section describes resolved issues in this release.
Table 11 lists the resolved issues for the OracleAS TopLink Foundation Library and CMP support.
Table 12 lists the resolved issues for the OracleAS TopLink Mapping Workbench.
Table 11 Resolved Issues for the OracleAS TopLink Foundation and CMP Support
| Reference Number | Description |
|---|---|
|
3551263 |
Executing queries with parameters on a session broker no longer throws a
|
|
3544298 |
Stored procedure calls now function correctly when there is both an argument containing a
Cursor and another
|
|
3539971 |
OracleAS TopLink expression framework has been enhanced to include a
Hashtable caseTable = new Hashtable();
caseTable.put("Robert", "Bob");
caseTable.put("Susan", "Sue");
employee.get("name").caseStatement(caseTable, "No-Nickname")
SQL: CASE name WHEN "Robert" THEN "Bob"
WHEN "Susan" THEN "Sue"
ELSE "No-Nickname"
Note: You can use the
|
|
3533616 |
Direct mappings on aggregates can now be resolved in in-memory queries. In previous versions, depending on the OracleAS TopLink setup, either the expression that traversed the aggregate was ignored, or an exception indicating that the functionality was not supported was thrown. Note: Calling the
|
|
3530368, 3482901 |
Start-up negotiation for RMI-IIOP cache synchronization on IBM WebSphere and for RMI cache synchronization on BEA Weblogic now works correctly. In previous versions, exceptions were thrown during the initialization. This issue was introduced as a result of the bug fix for bug 3294426 in OracleAS TopLink 9.0.4.1. |
|
3510459 |
In a
|
|
3497618 |
Support for functions
|
|
3497512 |
When using cache synchronization, time-to-live settings are now correctly used to determine when packets time-out. In previous versions, time-out was always the default. |
|
3489179 |
When a descriptor event is used to alter an object, OracleAS TopLink now includes changed attributes in the change set associated with the update even if the attributes were not previously changed. In previous versions, attributes that were newly changed in the descriptor event were not included in the change set. |
|
3485716 |
A
|
|
3473441, 3494782 |
Calling
|
|
3470535 |
OracleAS TopLink JMS cache synchronization now works in IBM WebSphere 5.1. In previous versions, JMS cache synchronization was designed to extend the
|
|
3443738 |
OracleAS TopLinkno longer throws a
|
|
3440544 |
Cache synchronization no longer fails when a
ServerSession has its login method called multiple times. In previous versions, a call to
|
|
3413151 |
OracleAS TopLink now properly closes cursors returned from stored procedures. In previous versions, the cursors were not always closed. This could eventually result in exceptions indicating too many open cursors. |
|
3400625, 3497602 |
An application name can now be specified on a pre-login event to allow start-up negotiation for RMI-JNDI cache synchronization on Oracle Application Server Containers for J2EE to succeed. The following is an example of a pre-login event that can be specified to allow this to succeed.
public void preLogin(SessionEvent event){
event.getSession().getCacheSynchronizationManager().getClusteringService().setApplicationName( "/ejbSessionBean");
}
|
|
3388383 |
A race-condition associated with two threads executing the same query using the
|
|
3355199 |
|
|
3338862, 3345103 |
JMS messaging has been fixed to deal better with null objects. In previous versions, messages including null objects would result in
|
Table 12 Resolved Issues for the OracleAS TopLink Mapping Workbench
| Reference Number | Description |
|---|---|
|
3553857 |
Problems with specifying a table qualifier or using required special characters in the sequence Name field on the Descriptor Info panel have been corrected. |
|
3506533 |
In previous versions, no useful error description was displayed when exporting table creator java source when project classes were not on the OracleAS TopLink Mapping Workbench project classpath. This problem has been corrected. |
This section describes resolved issues in this release.
Table 13 lists the resolved issues for the OracleAS TopLink Foundation Library and CMP support.
Table 14 lists the resolved issues for the OracleAS TopLink Mapping Workbench.
Table 13 Resolved Issues for the OracleAS TopLink Foundation and CMP Support
| Reference Number | Description |
|---|---|
|
3431586 |
Using the Unit of Work
|
|
3432075 |
Project XML and project class files can now read and write the undefined
|
|
3443422 |
Using optimistic locking, storing the value in the cache, and using cache synchronization, no longer causes optimistic lock exceptions when making changes. |
|
3479372 |
A
|
This section describes resolved issues in this release.
Table 15 lists the resolved issues for the OracleAS TopLink Foundation Library and CMP support.
Table 16 lists the resolved issues for the OracleAS TopLink Mapping Workbench.
Table 15 Resolved Issues for the OracleAS TopLink Foundation and CMP Support
Table 16 Resolved Issues for the OracleAS TopLink Mapping Workbench
| Reference Number | Description |
|---|---|
|
2941421 |
OracleAS TopLink now maps the database types
|
|
2962215 |
When generating Java source, if users cancel the source code generation process to prevent overwriting existing source code, an incorrect dialog stating that source code was overwritten will no longer display. |
|
2962278 |
Context sensitive help correctly displays the Named Queries help information when users request help from the panel. In previous versions, the general Queries help was displayed. |
|
2964418 |
Problems writing the primary key field in the
|
|
3091903 |
An erroneous error message regarding invalid query keys on variable one-to-one mappings has been corrected. |
|
3303356 |
Problems encountered when refreshing interface descriptors have been corrected. In previous versions, a
|
|
3310537 |
|
|
3358348 |
A problem when migrating from 9.0.3.x to 9.0.4 has been corrected. The issue corrected can be identified by the following error text: oracle.toplink.exceptions.DescriptorException Message: Exception Description: The method [isStub] on the object [oracle.toplink.workbench.model.meta.MWClass] triggered an exception. |
|
3403187 |
A problem when migrating from 9.0.3.x to 9.0.4 has been corrected. The issue corrected can be identified by the following error text: TopLink Error Code:98 Error Message: Exception Description: The underlying callback method [legacy45PostBuild], with parameter (DescriptorEvent), triggered an exception: Internal Exception: java.lang.reflect.InvocationTargetException Target Invocation Exception: java.lang.NullPointerException Descriptor: XMLDescriptor(oracle.toplink.workbench.model.meta.MWMethod--> [DatabaseTable(Method)]) |
|
3321909 |
When using OracleAS TopLink Mapping Workbench with Oracle Database 10 g, select Oracle9i as the database platform on the Database property sheet. |
|
3406421 |
A
|
To consult known issues for OracleAS TopLink, refer to the "Troubleshooting Known Issues" sections in both the Oracle Application Server TopLink Application Developer's Guide and the Oracle Application Server TopLink Mapping Workbench User's Guide.
The latest documentation library for OracleAS TopLink 10 g (9.0.4.8) /10 g Release 2 (10.1.2) is available at:
http://download.oracle.com/docs/cd/B14099_07/web.htm#toplink
OracleAS Toplink Release Notes, 10 g (9.0.4.8) / 10 g Release 2 (10.1.2)
Copyright © 1997, 2005, Oracle. All rights reserved.
The Programs (which include both the software and documentation) contain proprietary information; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectual and industrial property laws. Reverse engineering, disassembly, or decompilation of the Programs, except to the extent required to obtain interoperability with other independently created software or as specified by law, is prohibited.
The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. This document is not warranted to be error-free. Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose.
If the Programs are delivered to the United States Government or anyone licensing or using the Programs on behalf of the United States Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the Programs, including documentation and technical data, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement, and, to the extent applicable, the additional rights set forth in FAR 52.227-19, Commercial Computer Software—Restricted Rights (June 1987). Oracle Corporation, 500 Oracle Parkway, Redwood City, CA 94065
The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently dangerous applications. It shall be the licensee's responsibility to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe use of such applications if the Programs are used for such purposes, and we disclaim liability for any damages caused by such use of the Programs.
Oracle, JD Edwards, PeopleSoft, and Retek are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
The Programs may provide links to Web sites and access to content, products, and services from third parties. Oracle is not responsible for the availability of, or any content provided on, third-party Web sites. You bear all risks associated with the use of such content. If you choose to purchase any products or services from a third party, the relationship is directly between you and the third party. Oracle is not responsible for: (a) the quality of third-party products or services; or (b) fulfilling any of the terms of the agreement with the third party, including delivery of products or services and warranty obligations related to purchased products or services. Oracle is not responsible for any loss or damage of any sort that you may incur from dealing with any third party.