Файл weblogic-cmp-rdbms-jar.xml содержит связи между атрибутами EJB и столбцами базы данных, которые используются технологиями хранения, управляемого контейнером (CMP) и взаимосвязей, управляемых контейнером (CMR).
Это правило находит связи с полями CMP в файле weblogic-cmp-rdbms-jar.xml. Процедура быстрого исправления в сканере исходного кода пытается создать связи, необходимые WebSphere(R) Application Server для поддержки работы CMP. Связи зависят от типа и схемы базы данных. В процессе быстрого исправления делается попытка максимально точно определить схему базы данных.
Поставщика базы данных можно задать на панели свойств правила. Если выбрано значение Определять автоматически, применяемый тип базы данных определяется по значению параметра database-type в файле weblogic-cmp-rdbms-jar.xml. Если оно не задано, используется значение Oracle. Поддерживаются только базы данных типа DB2(R), Oracle, SQLServer и SQLServer2000. Миграция баз данных MySQL, POINTBASE, Informix(R) и Sybase не поддерживается.
В следующей таблице указан тип Java, используемый для типа столбца базы данных. Если применяемая схема таблиц базы данных не соответствует этому формату, CMP может не работать. В таком случае используйте значение Двунаправленный в мастере преобразования EJB в RDB инструмента Rational Application Developer для миграции связей CMP.
| Тип 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 |
Во время миграции по возможности выполняется миграция параметров оптимистической блокировки. Если в элементе <verify-columns> из файла weblogic-cmp-rdbms-jar.xml задано значение Timestamp или Version, оптимистическая блокировка активируется для столбца, заданного в <optimistic-column>. Это делается только в том случае, если столбец связан с полем CMP, что в WebLogic является необязательным. Если столбец не связан с полем, то в EJB необходимо вручную добавить новое поле и связать его со столбцом в файле weblogic-cmp-rdbms-jar.xml.
Миграция значений Read и Modified в элементе <verify-columns> не поддерживается.