Utilizaţi extensii WebSphere pentru a defini mapările CMP

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.

Soluţia

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 JavaDB2OracleSQLServer
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