Sun Java System Application Server 7 Update 11 Release Notes

- Previous: EJB Container
- Next: Message Service and Message-Driven Beans

## 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: 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. 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`).

- Previous: EJB Container
- Next: Message Service and Message-Driven Beans

- © 2010, Oracle Corporation and/or its affiliates