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

Fişierul weblogic-cmp-rdbms-jar.xml conţine mapările de la atributele EJB la coloanele de bază de date utilizate de CMP (Container-Managed Persistence) şi CMR (Container-Managed Relationships).

Regula detectează mapările de câmp CMP din fişierul weblogic-cmp-rdbms-jar.xml. Atunci când soluția automată este furnizată, aceasta va încerca să genereze corespondențele necesare pentru 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, soluția automată va face cel mai bun efort de presupunere pentru a alege o schemă corectă pentru baza de date.

Soluţia

Furnizorul bazei de date poate fi configurat în panoul de proprietăţi al regulii. Dacă este setat la Auto detect, setarea database-type din fişierul weblogic-cmp-rdbms-jar.xml determină tipul de bază de date folosit. Dacă nu este specificat nimic, este folosit Oracle. 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ă baza dumneavoastră de date deviază de la acest format, CMP ar putea 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

Blocarea optimistă

În timpul migrări, sunt migrate dacă este posibil setările de blocare optimistă. În caz că <verify-columns> setat la Timestamp sau Version în fişierul weblogic-cmp-rdbms-jar.xml, blocarea optimistă va fi activată pentru coloana de sub <optimistic-column>. Acest lucru poate fi făcut doar dacă coloana este mapată la un câmp CMP, ceea ce este opţional în WebLogic. Dacă coloana nu este mapată, atunci trebuie adăugat un nou câmp manual la bean-ul enterprise şi mapat la o coloană din fişierul weblogic-cmp-rdbms-jar.xml.

O valoarea pentru <verify-columns> de Read sau Modified nu este suportată pentru migrare.