Le fichier weblogic-cmp-rdbms-jar.xml contient des mappages entre des attributs d'EJB et des colonnes de base de données utilisés par la fonction de persistance gérée par conteneur (CMP) et les relations gérées par conteneur (CMR).
La règle détecte les mappages de zone CMP présents dans le fichier weblogic-cmp-rdbms-jar.xml. Lorsque le correctif automatisé sera fourni, il tentera de générer les correspondances nécessaires à WebSphere(R ) Application Server pour que la persistance gérée par le conteneur fonctionne que la persistance gérée par le conteneur fonctionne. Les mappages sont sensibles au schéma et au type de base de données. Par conséquent, le correctif automatisé s'efforcera de choisir un schéma correct pour la base de données.
Vous pouvez configurer le fournisseur de base de données dans le panneau des propriétés de la règle. Si sa valeur est Auto detect, le paramètre database-type contenu dans le fichier weblogic-cmp-rdbms-jar.xml détermine le type de base de données utilisé. Si aucune valeur n'est spécifiée, le type choisi est Oracle. Les types de base de données pris en charge sont DB2(R), Oracle, SQLServer, et SQLServer2000. La migration est impossible pour MySQL, POINTBASE, Informix(R) et Sybase.
Le tableau ci-dessous indique les correspondances utilisées entre le type Java et le type de colonne de base de données. Si votre schéma de table de base de données ne respecte pas ce format, la persistance CMP peut ne pas fonctionner. Dans ce cas, utilisez le paramètre Meet-In-The-Middle de l'assistant de mappage EJB/SGBDR (EJB to RDB Mapping Wizard) de Rational Application Developer pour migrer les mappages CMP.
| Type 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 |
Pendant la migration, le paramètre de verrouillage optimiste est migré si possible. Si le paramètre <verify-columns> a la valeur Timestamp ou Version dans le fichier weblogic-cmp-rdbms-jar.xml, le verrouillage optimiste est activé pour la colonne spécifiée par l'élément <optimistic-column>. Cette opération n'est possible que si la colonne est mappée à une zone CMP, ce qui est facultatif dans WebLogic. Si la colonne n'est pas mappée, vous devez ajouter une nouvelle zone manuellement au bean enterprise et la mapper à une colonne dans le fichier weblogic-cmp-rdbms-jar.xml.
Si la valeur de <verify-columns> est Read ou Modified, la migration est impossible.