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

A jbosscmp-jdbc.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 jbosscmp-jdbc.xml fájlban. Az automatikus javítás 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. Az automatikus javítás a lehető legjobban 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 jbosscmp-jdbc.xml fájlban található database-type beállítás határozza meg a használt adatbázistípust. Ha egyik sincs megadva, akkor a DB2 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, vagy egyéni adattípusok kerültek megadásra a jbosscmp-jdbc.xml fájlban, 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