Usar extensões WebSphere para definir os mapeamentos CMP

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.

Solução

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 JavaDB2OracleSQLServer
java.lang.Integer/intINTEGERINTEGERINTEGER
java.lang.Double/doubleDOUBLE PRECISIONDOUBLE PRECISIONDOUBLE PRECISION
java.lang.Float/floatFLOATFLOATFLOAT
java.lang.Short/shortINTEGERINTEGERSMALLINT
java.lang.Long/longBIGINTINTEGERDECIMAL
java.math.BigDecimalDECIMALDECIMALDECIMAL
java.lang.StringVARCHARVARCHARVARCHAR
java.lang.Character/charCHARCHARCHAR
java.lang.Byte/byteINTEGERINTEGERTINYINT
java.lang.Boolean/booleanINTEGERINTEGERINTEGER
java.sql.DateDATEDATEDATETIME
java.sql.TimeTIMEDATEDATETIME
java.sql.TimestampTIME STAMPDATEDATETIME
byte[]/java.io.SerializableVARCHAR FOR BIT DATARAWIMAGE

Bloqueio Otimista

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.