Sun Java System Application Server 7 Update 11 Release Notes

Container-Managed Persistence

This section describes the known container-managed persistence (CMP) issues and associated solutions.

ID  

Summary  

4732684

Oracle JDBC driver optimizations are not being initiated.

To take advantage of Oracle (R) database optimizations with container-managed persistence (CMP) beans, the Oracle driver files must be specified in the classpath-suffix attribute of the server.xml file rather than placed in the instance’s /lib directory which is the default for third-party libraries.

Solution

Add the Oracle driver files to the classpath-suffix attribute of the server.xml file.

4734963

Self-referencing CMRs cause problem during deployment.

The parser of the EJB deployment descriptor, ejb-jar.xml, does not correctly handle self-referencing container-managed relationships (CMRs), that is, ejb-relationship-role. The One side field is skipped.

Solution

Switch the ejb-relationship-role sections so that the One side (with <multiplicity> Many) is the first in ejb-relation.

4747222

On Oracle, the capture-schema utility does not work if -schemaname is not specified.

The capture-schema utility has the following problems if the -schemaname option is not specified when capturing database schema information from the Oracle (R) database:

  1. If you attempt to capture all tables (that is, no tables are explicitly chosen):

    bin/capture-schema -dburl jdbc:oracle:thin:@oraserver:1521:ora -username scott -password tiger -driver oracle.jdbc.driver.OracleDriver -out test.dbschema

    You will receive:java.sql.SQLExceptions ORA-00942: table or view does not exist.

    The resulting output file is broken.

  2. If one or more tables are specified with the -table option:

    bin/capture-schema -dburl jdbc:oracle:thin:@oraserver:1521:ora -username scott -password tiger -driver oracle.jdbc.driver.OracleDriver -table DEPT -out test.dbschema

    The resulting file has the specified tables, but no column information, which means the file can’t be used for CMP mapping.

Solution

When capturing a schema from the Oracle database, always use the -schemaname option with the user name in uppercase letters as the value:

bin/capture-schema -dburl jdbc:oracle:thin:@oraserver:1521:ora -username scott -password tiger -driver oracle.jdbc.driver.OracleDriver -schemaname SCOTT -out test.dbschema)

4751235

For capture-schema utility: If values for the -table option are not specified in uppercase on Oracle and/or PointBase, the resulting file is broken.

Oracle (R) and PointBase internally translate case-insensitive identifiers into uppercase letters, unless the identifier are enclosed in " "). The capture-schema utility does not correctly handle table names in lowercase or mixed-case letters as arguments to the -table option when capturing a database schema from Oracle or PointBase (such as -table student or -table Student). The generated database schema file will not contain any columns information for the corresponding table.

Solution

Use uppercase letters to specify table names (such as -table STUDENT).