Használjon WebSphere kiterjesztéseket a CMP leképezések meghatározásához

A weblogic-cmp-rdbms-jar.xml fájl az EJB attribútumok adatbázisoszlopokra való azon leképezéseit tartalmazza, melyeket a Konténer által kezelt perzisztencia (CMP) és a Konténer által kezelt viszonyok (CMR) használnak.

A szabály a CMP mezőleképezéseket ismeri fel a weblogic-cmp-rdbms-jar.xml fájlban. Amikor az automatikus javítás megtörténik, a rendszer megpróbálja létrehozni a WebSphere(R által szükséges hozzárendeléseket.) Alkalmazáskiszolgáló számára a Container Managed Persistence működéséhez. A leképezések érzékenyek az adatbázistípusra és -sémára. Ezért az automatikus javítás a lehető legvalószínűbb módon próbálja kiválasztani a helyes sémát az adatbázishoz.

Megoldás

Az adatbázis szállítóját a szabály Tulajdonságok párbeszédablakában lehet beállítani. Amennyiben az Automatikus felismerés lehetőség kerül beállításra, úgy a weblogic-cmp-rdbms-jar.xml fájlban található database-type beállítás határozza meg a használt adatbázistípust. Ha nincs megadva a beállítás, akkor az Oracle típus kerül felhasználásra. A támogatott adatbázistípusok köre csak a DB2(R), Oracle, SQLServer és SQLServer2000 típust tartalmazza. A MySQL, POINTBASE, Informix(R) és Sybase típus nem állítható át.

Az alábbi táblázat az adatbázisoszlop-típushoz használt Java típust mutatja be. Ha adatbázistábla-sémája eltér ettől a formátumtól, akkor előfordulhat, hogy a CMP nem működik. Ezekben az esetekben a CMP leképezések átállításához használja a Rational Application Developer rendszer EJB-RDB leképezés varázslójában elérhető Találkozó középen beállítást.

Java típusDB2OracleSQLServer
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

Optimista zárolás

Az átállítás során az optimista zárolás beállításai is átvételre kerülnek, ha lehetséges. Abban az esetben, ha a <verify-columns> elem Timestamp vagy Version értékre van beállítva a weblogic-cmp-rdbms-jar.xml fájlban, akkor az optimista zárolás engedélyezésre fog kerülni az <optimistic-column> elemben megadott oszlop számára. Ez csak akkor hajtható végre, ha az oszlop CMP mezőre van leképezve, mely a WebLogic rendszerben nem kötelező. Ha az oszlop nincs leképezve, akkor az új mezőt saját kezűleg kell hozzáadni az EJB-komponenshez, majd egy oszlopra leképezni a weblogic-cmp-rdbms-jar.xml fájlban.

A Read vagy Modified <verify-columns> érték az átállítás szempontjából nem támogatott.