Il file weblogic-cmp-rdbms-jar.xml contiene associazioni dagli attributi EJB alle colonne del database utilizzate da CMP (Container-Managed Persistence) e CMR (Container-Managed Relationships).
La regola rileva le associazioni del campo CMP nel file weblogic-cmp-rdbms-jar.xml. Quando viene fornita la correzione automatica, si tenterà di generare i mapping necessari a WebSphere(R ) Application Server affinché per far funzionare la persistenza gestita dal contenitore. Le associazioni sono sensibili al tipo di database e schema. Pertanto, la correzione automatica si sforzerà di scegliere uno schema corretto per il database.
Il fornitore del database può essere configurato nel pannello delle proprietà della regola. Se impostato su Rilevamento automatico, l'impostazione database-type nel file weblogic-cmp-rdbms-jar.xml determina il tipo di database utilizzato. Se non ne viene specificato nessuno, viene utilizzato Oracle. Sono supportati solo i tipi di database DB2(R), Oracle, SQLServer e SQLServer2000. Non è possibile migrare MySQL, POINTBASE, Informix(R) e Sybase.
La seguente tabella visualizza il tipo di Java rispetto al tipo di colonna del database utilizzato. Se lo schema della propria tabella database non rispetta questo formato, CMP potrebbe non funzionare. In questi casi, utilizzare l'impostazione intermedia nella procedura guidata di Associazione EJB a RDB di Rational Application Developer per migrare le associazioni 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 | TIMESTAMP | DATE | DATETIME |
| byte[]/java.io.Serializable | VARCHAR FOR BIT DATA | RAW | IMAGE |
Durante la migrazione, le impostazioni di blocco ottimistico vengono migrate, se possibile. Se <verify-columns> è impostato su Timestamp o Version nel file weblogic-cmp-rdbms-jar.xml, il blocco ottimistico verrà abilitato per la colonna specificata in <optimistic-column>. Questa operazione può essere eseguita solo se la colonna è associata ad un campo CMP, operazione facoltativa in WebLogic. Se la colonna non è associata, è necessario aggiungere manualmente un nuovo campo al bean enterprise ed associarlo ad una colonna nel file weblogic-cmp-rdbms-jar.xml.
Il valore Read o Modified per <verify-columns> non è supportato per la migrazione.