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 Schnellkorrektur versucht, die Zuordnungen zu generieren, die WebSphere(R) Application Server benötigt, damit CMP funktioniert. Die Zuordnungen reagieren empfindlich auf den Datenbanktyp und das Datenbankschema. Deshalb versucht die Schnellkorrektur eine bestmögliche Schätzung bei der Auswahl eines richtigen Schemas für die Datenbank.
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 |