CMP マッピングの定義に WebSphere 拡張を使用する

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 タイプDB2OracleSQLServer
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