Fişierul jbosscmp-jdbc.xml conţine mapările de la atributele EJB la coloanele bazei de date utilizate de CMP (Container-Managed Persistence) şi CMR (Container-Managed Relationships).
Regula detectează mapările câmpurilor CMP în fişierul jbosscmp-jdbc.xml. Soluția automată va încerca să genereze corespondențele necesare pentru WebSphere(R ) Serverul de aplicații pentru Container-Managed Persistence să funcționeze. Mapările depind de tipul de bază de date şi de schemă. Corecția automată va face cel mai bun efort de presupunere pentru a alege o schemă corectă pentru baza de date.
Vânzătorul de baze de date poate fi configurat în panoul de proprietăţi al regulii. Dacă este setată la Auto detect, setarea database-type din fişierul jbosscmp-jdbc.xml determină tipul de bază de date utilizat. Dacă nu este specificată niciuna, este utilizată autentificarea DB2. Sunt suportate numai tipurile de bază de date DB2(R), Oracle, SQLServer şi SQLServer2000. MySQL, POINTBASE, Informix(R) şi Sybase nu pot fi migrate.
Următorul tabel afişează tipul Java în tipul de coloană de bază de date folosit. Dacă schema tabelului bazei de date deviază de la acest format sau dacă sunt specificate tipurile de date personalizate în fişierul jbosscmp-jdbc.xml, atunci este posibil ca CMP să nu funcţioneze. În aceste cazuri, utilizaţi setarea Meet-In-The-Middle în EJB la RDB Mapping Wizard din Rational Application Developer pentru a migra mapările CMP.
| Tip 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 |