Używaj rozszerzeń produktu WebSphere do definiowania odwzorowań trwałości zarządzanej przez kontener

Plik weblogic-cmp-rdbms-jar.xml zawiera odwzorowania atrybutów komponentów EJB na kolumny bazy danych używane przez funkcje trwałości zarządzanej przez kontener (Container-Managed Persistence – CMP) i relacji zarządzanych przez kontener (Container-Managed Relationships – CMR).

Reguła wykrywa odwzorowania pól trwałości CMP w pliku weblogic-cmp-rdbms-jar.xml. Po dostarczeniu automatycznej poprawki podejmie ona próbę wygenerowania mapowań wymaganych przez WebSphere(R ) Application Server dla container Managed Persistence do działania. Odwzorowania są zależne od typu i schematu bazy danych. W związku z tym zautomatyzowana poprawka podejmie najlepszy możliwy wysiłek, aby wybrać prawidłowy schemat dla bazy danych.

rozwiązanie

Dostawcę bazy danych można skonfigurować na panelu właściwości reguły. Jeśli jest ustawiona opcja Automatyczne wykrywanie, ustawienie database-type w pliku weblogic-cmp-rdbms-jar.xml określa typ używanej bazy danych. Jeśli nie podano żadnej wartości, zostanie użyta baza danych Oracle. Obsługiwane są tylko następujące typy bazy danych: DB2(R), Oracle, SQLServer i SQLServer2000. Baz danych MySQL, POINTBASE, Informix(R) i Sybase nie można poddać migracji.

W poniższej tabeli przedstawiono odwzorowania typów Java na typy kolumn używanej bazy danych. Jeśli schemat tabel bazy danych odbiega od tego formatu, funkcja trwałości zarządzanej przez kontener może nie działać. W takich przypadkach do migracji odwzorowań CMP należy użyć ustawienia Zbieżne w kreatorze odwzorowań EJB na RDB produktu Rational Application Developer.

Typ 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

Optymistyczne blokowanie

Podczas migracji ustawienia optymistycznego blokowania są migrowane, jeśli jest to możliwe. Jeśli element <verify-columns> w pliku weblogic-cmp-rdbms-jar.xml ma wartość Timestamp lub Version, optymistyczne blokowanie zostanie włączone dla kolumny podanej w elemencie <optimistic-column>. Jest to możliwe tylko wtedy, gdy kolumna jest odwzorowana na pole trwałości zarządzanej przez kontener (co jest opcjonalne w przypadku serwera WebLogic). Jeśli kolumna nie jest odwzorowana, należy ręcznie dodać nowe pole do komponentu EJB i odwzorować je na kolumnę w pliku weblogic-cmp-rdbms-jar.xml.

Wartości Read i Modified elementu <verify-columns> nie są obsługiwane na potrzeby migracji.