weblogic-cmp-rdbms-jar.xml ファイルには、コンテナー管理パーシスタンス (CMP) および コンテナー管理関係 (CMR) によって使用される、EJB 属性からデータベース列へのマッピングが含まれます。
規則は、weblogic-cmp-rdbms-jar.xml ファイルにある CMP フィールド・マッピングを検出します。 自動修正が提供されると、 WebSphere(R )で必要なマッピングの生成が試みられます。アプリケーション・サーバで が必要とするマッピングを生成しようとします。 マッピングには、データベースのタイプおよびスキーマが非常に重要となります。 したがって、自動修正では、データベースの正しいスキーマを選択するための最善の努力を行う。
データベース・ベンダーは、規則のプロパティー・パネルで構成できます。 「自動検出 (Auto detect)」に設定した場合、 weblogic-cmp-rdbms-jar.xml ファイルの「database-type」設定が使用されるデータベースのタイプを決定します。 何も指定しない場合は、Oracle が使用されます。 DB2(R)、Oracle、SQLServer、および SQLServer2000 のみがサポートされるデータベース・タイプです。 MySQL、POINTBASE、Informix(R)、およぴ Sybase はマイグレーションできません。
次の表は、使用されるデータベース列タイプに対する Java タイプを示しています。 データベース表のスキーマがこのフォーマットから離脱している場合、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 |
マイグレーション時に、可能な場合は、オプティミスティック・ロックの設定がマイグレーションされます。 weblogic-cmp-rdbms-jar.xml ファイルで <verify-columns> が Timestamp または Version に設定されている場合、 オプティミスティック・ロックが <optimistic-column> の下で指定された列に対して使用可能になります。 これは、その列が CMP フィールドにマップされている場合にのみ可能になります。 このフィールドは WebLogic ではオプションとなっています。 列がマップされていない場合は、新しいフィールドを手動でエンタープライズ Bean に追加して、 weblogic-cmp-rdbms-jar.xml ファイル内の列にマップすることが必要です。
<verify-columns> 値の Read や Modified は、マイグレーション用にサポートされていません。