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

jbosscmp-jdbc.xml ファイルには、 コンテナー管理パーシスタンス (CMP) およびコンテナー管理関係 (CMR) によって使用される、EJB 属性からデータベース列へのマッピングが含まれます。

規則は jbosscmp-jdbc.xml ファイルにある CMP フィールド・マッピングを検出します。 クイック・フィックスは、コンテナー管理パーシスタンスが機能するために WebSphere(R) Application Server 側に必要となるマッピングの生成を試行します。マッピングには、データベースのタイプおよびスキーマが非常に重要となります。 そのため、クイック・フィックスは、データベース用のスキーマ選択において、推測される最適のスキーマを選択しようとします。

クイック・フィックス (ソース・スキャナーのみに適用可能):

データベース・ベンダーは、規則のプロパティー・パネルで構成できます。 「自動検出」に設定した場合、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