Die Datei weblogic-cmp-rdbms-jar.xml enthält Zuordnungen von EJB-Attributen zu Datenbankspalten, die von CMP (Container-Managed Persistence) und CMR (Container-Managed Relationships) verwendet werden.
Die Regel erkennt CMP-Feldzuordnungen in der Datei weblogic-cmp-rdbms-jar.xml. Wenn der automatische Fix bereitgestellt wird, wird er versuchen, die von WebSphere(R benötigten Zuordnungen zu generieren.) Anwendungsserver für die Container Managed Persistence zu funktionieren. Die Zuordnungen reagieren empfindlich auf den Datenbanktyp und das Datenbankschema. Daher wird die automatische Korrektur nach bestem Wissen und Gewissen ein korrektes Schema für die Datenbank auswählen.
Der Datenbankanbieter kann in der Eigenschaftenanzeige der Regel konfiguriert werden. Wenn Auto detect gesetzt ist, bestimmt die Einstellung database-type in der Datei weblogic-cmp-rdbms-jar.xml den Typ der verwendeten Datenbank. Wenn "none" angegeben ist, wird Oracle verwendet. Die einzigen unterstützten Datenbanktypen sind DB2(R), Oracle, SQLServer und SQLServer2000. MySQL, POINTBASE, Informix(R) und Sybase können nicht migriert werden.
In der folgenden Tabelle sind die Zuordnungen der Java-Typen zu den Datenbankspaltentypen aufgelistet. Wenn Ihr Datenbanktabellenschema von diesem Format abweicht, funktioniert CMP möglicherweise nicht. Verwenden Sie in diesen Fällen in Rational Application Developer die Einstellung "Meet-In-The-Middle" im Assistenten für die Zuordnung von EJBs zu RDBs, um die CMP-Zuordnungen zu migrieren.
| Java-Typ | 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 |
Während der Migration werden die Einstellungen für optimistisches Sperren migriert, sofern dies möglich ist. Falls <verify-columns> in der Datei weblogic-cmp-rdbms-jar.xml auf Timestamp oder Version gesetzt ist, wird optimistisches Sperren für die unter <optimistic-column> angegebene Spalte aktiviert. Dies ist nur möglich, wenn die Spalte einem CMP-Feld zugeordnet ist, was in WebLogic optional ist. Wenn die Spalte nicht zugeordnet ist, muss der Enterprise-Bean manuell ein neues Feld hinzugefügt und einer Spalte in der Datei weblogic-cmp-rdbms-jar.xml zugeordnet werden.
Die Werte "Read" und "Modified" für <verify-columns> werden für die Migration nicht unterstützt.