WebSphere-Erweiterungen für die Definition von CMP-Zuordnungen verwenden

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.

Lösung

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-TypDB2OracleSQLServer
java.lang.Integer/intINTEGERINTEGERINTEGER
java.lang.Double/doubleDOUBLE PRECISIONDOUBLE PRECISIONDOUBLE PRECISION
java.lang.Float/floatFLOATFLOATFLOAT
java.lang.Short/shortINTEGERINTEGERSMALLINT
java.lang.Long/longBIGINTINTEGERDECIMAL
java.math.BigDecimalDECIMALDECIMALDECIMAL
java.lang.StringVARCHARVARCHARVARCHAR
java.lang.Character/charCHARCHARCHAR
java.lang.Byte/byteINTEGERINTEGERTINYINT
java.lang.Boolean/booleanINTEGERINTEGERINTEGER
java.sql.DateDATEDATEDATETIME
java.sql.TimeTIMEDATEDATETIME
java.sql.TimestampTIMESTAMPDATEDATETIME
byte[]/java.io.SerializableVARCHAR FOR BIT DATARAWIMAGE