O arquivo weblogic-cmp-rdbms-jar.xml contém mapeamentos de atributos EJB para colunas de banco de dados usadas pelo Container-Managed Persistence (CMP) e pelo Container-Managed Relationships (CMR).
A regra detecta os mapeamentos de campo CMP no arquivo weblogic-cmp-rdbms-jar.xml. Quando a correção automatizada for fornecida, ela tentará gerar os mapeamentos necessários pelo WebSphere(R ) Servidor de aplicativos para que para que a persistência gerenciada por contêiner funcione. Os mapeamentos são sensíveis ao tipo e esquema do banco de dados. Portanto, a correção automatizada fará um esforço de melhor adivinhação para escolher um esquema correto para o banco de dados.
O fornecedor de banco de dados pode ser configurado no painel de propriedades da regra. Se configurada como Detecção automática, a definição database-type no arquivo weblogic-cmp-rdbms-jar.xml determina o tipo de banco de dados utilizado. Se nenhum valor for especificado, Oracle será utilizado. Apenas DB2(R), Oracle, SQLServer e SQLServer2000 são tipos de banco de dados suportados. MySQL, POINTBASE, Informix(R) e Sybase não podem ser migrados.
A tabela a seguir exibe o tipo Java para o tipo de coluna do banco de dados utilizado. Se o seu esquema de tabela de banco de dados desviar desse formato, o CMP pode não funcionar. Nesses casos, utilize a configuração Convergência Central no EJB para o Assistente de Mapeamento de RDB do Rational Application Developer para migrar os mapeamentos do CMP.
| Tipo Java | DB2 | Oracle | SQLServer |
|---|---|---|---|
| java.lang.Integer/int | INTEGER | INTEGER | INTEGER |
| java.lang.Double/double | DOUBLE PRECISION | DOUBLE PRECISION | DOUBLE PRECISION |
| java.lang.Float/float | FLOAT | FLOAT | FLOAT |
| java.lang.Short/short | INTEGER | INTEGER | SMALLINT |
| java.lang.Long/long | BIGINT | INTEGER | DECIMAL |
| java.math.BigDecimal | DECIMAL | DECIMAL | DECIMAL |
| java.lang.String | VARCHAR | VARCHAR | VARCHAR |
| java.lang.Character/char | CHAR | CHAR | CHAR |
| java.lang.Byte/byte | INTEGER | INTEGER | TINYINT |
| java.lang.Boolean/boolean | INTEGER | INTEGER | INTEGER |
| java.sql.Date | DATE | DATE | DATETIME |
| java.sql.Time | TIME | DATE | DATETIME |
| java.sql.Timestamp | TIME STAMP | DATE | DATETIME |
| byte[]/java.io.Serializable | VARCHAR FOR BIT DATA | RAW | IMAGE |
Durante a migração, as definições de bloqueio otimista são migradas se possível. No caso em que <verify-columns> é configurado como Timestamp ou Version no arquivo weblogic-cmp-rdbms-jar.xml, o bloqueio otimista será ativado para a coluna especificada sob <optimistic-column>. Isso pode ser feito somente se a coluna for mapeada como um campo CMP, o que no WebLogic é opcional. Se a coluna não for mapeada, então um novo campo deve ser incluído manualmente no enterprise bean e mapeado em uma coluna no arquivo weblogic-cmp-rdbms-jar.xml.
Um valor <verify-columns> igual a Read ou Modified não é suportado para migração.