jbosscmp-jdbc.xml ファイルには、 コンテナー管理パーシスタンス (CMP) およびコンテナー管理関係 (CMR) によって使用される、EJB 属性からデータベース列へのマッピングが含まれます。
規則は jbosscmp-jdbc.xml ファイルにある CMP フィールド・マッピングを検出します。 この自動修正プログラムでは、 WebSphere(R )が必要とするマッピングの生成を試みます。アプリケーションサーバーで Container-Managed Persistence が必要とするマッピングの生成を試みます。 マッピングには、データベースのタイプおよびスキーマが非常に重要となります。 自動修正は、データベースの正しいスキーマを選択するための最善の努力をする。
データベース・ベンダーは、規則のプロパティー・パネルで構成できます。 「自動検出」に設定した場合、jbosscmp-jdbc.xml ファイルの「database-type」設定により、使用されるデータベースのタイプが決まります。何も指定しない場合は、DB2 が使用されます。DB2(R)、Oracle、SQLServer、および SQLServer2000 のみがサポートされるデータベース・タイプです。 MySQL、POINTBASE、Informix(R)、およぴ Sybase はマイグレーションできません。
次の表は、使用されるデータベース列タイプに対する Java タイプを示しています。 データベース表のスキーマがこのフォーマットから逸脱している場合や、 jbosscmp-jdbc.xml ファイルでカスタム・データ・タイプが指定されている場合は、CMP は機能しないことがあります。そのような場合、Rational Application Developer の EJB から RDB へのマッピング・ウィザードで Meet-In-The-Middle 設定を使用して、 CMP マッピングをマイグレーションします。
| 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 |