Die Datei jbosscmp-jdbc.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 jbosscmp-jdbc.xml. Die automatische Korrektur wird versuchen, die von WebSphere(R benötigten Zuordnungen zu generieren.) Anwendungsserver für Container-Managed Persistence zu funktionieren. Die Zuordnungen reagieren empfindlich auf den Datenbanktyp und das Datenbankschema. Die automatische Korrektur versucht nach bestem Wissen und Gewissen, ein korrektes Schema für die Datenbank auszuwählen.
Der Datenbankanbieter kann in der Eigenschaftenanzeige der Regel konfiguriert werden. Wenn Auto detect gesetzt ist, bestimmt die Einstellung database-type in der Datei jbosscmp-jdbc.xml den Typ der verwendeten Datenbank. Wenn "none" angegeben ist, wird Db2 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 oder angepasste Datentypen in der Datei jbosscmp-jdbc.xml angegeben sind, 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 |