Para beans de entidad CMP EJB 2.x, puede añadir una columna
en la tabla de base de datos relacional para la detección de conflictos. Esta
columna de detección de conflictos es una columna de base de datos adicional
reservada para determinar si se ha actualizado un registro.
Para gestionar la columna de detección de conflictos, tendrá que proporcionar su propia implementación del desencadenante de base de datos.
A continuación se detallan las ventajas de determinar añadir una columna para la detección
de conflictos en el esquema de control de concurrencia optimista alternativo de
incluir atributos
en un predicado para propósitos de acceso optimista:
- En la sentencia UPDATE sobrecualificada, sólo se necesita la columna de detección de conflictos
y la clave primaria. La comprobación de estas dos columnas reduce el número de operaciones
de E/S respecto al uso de varios predicados optimistas seleccionados.
- El uso de la columna de detección de conflictos supera la limitación del predicado optimista de no poder correlacionar columnas que admiten valores nulos o tipos de datos de control de concurrencia optimista no compatibles como los BLOB y los CLOB.
A continuación figuran restricciones del uso de la columna de detección de conflictos:
- No se admiten modificaciones ni actualizaciones en el valor de la columna de detección de conflictos.
- Si determina utilizar una columna de detección de conflictos,
el uso de dicha columna tendrá prioridad sobre el esquema de control de concurrencia
optimista alternativo de incluir atributos en un predicado para propósitos de acceso optimista.
Además, se pasarán por alto todos los valores de predicado optimista
para el propósito de acceso optimista.
- La adición de una columna para la detección de conflictos está
disponible para las correlaciones descendente y de encuentro a medio camino.
Correlación ascendente1
- Los nombres de columna que empiezan por "DISCRIM" o "OCC_" son nombres reservados para las herramientas de correlación de EJB.
- No especifique un nombre de campo CMP que empiece por ninguna de estas series:
"DISCRIM" o "OCC_".
- No asocie un CMP a otro CMP cuyo nombre empiece por ninguna de estas
series: "DISCRIM" y "OCC_".
Seleccione uno de los enfoques siguientes para añadir una columna para la detección de conflictos: