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. Corecţia rapidă încearcă să genereze mapările cerute de WebSphere(R) Application Server pentru ca Container-Managed Persistence să funcţioneze. Mapările depind de tipul de bază de date şi de schemă. Prin urmare, corecţia rapidă alege cea mai probabilă 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 |