Los descriptores de despliegue de WebLogic para beans persistentes gestionados por contenedor permiten que las aplicaciones utilicen la función de generación automática de claves de secuencia de base de datos. Cuando se utiliza esta función, una aplicación WebLogic no necesita incluir código para generar la clave de secuencia siguiente al crear objetos EJB de CMP. Cuando se migran aplicaciones WebLogic que incluyen generación automática de secuencia, se debe añadir código de aplicación para crear el identificador de secuencia para entradas nuevas.
El archivo weblogic-cmp-rdbms-jar.xml contiene
información para los EJB de entidad que utilizan la persistencia basada en RDBMS de
WebLogic.
Esta regla busca la configuración de los elementos
automatic-key-generation de WebLogic y proporciona información de
migración para el tipo de generador Oracle.
Este ejemplo muestra un
elemento que será marcado por la regla:
La entrada generator-name indica el nombre de la tabla DUAL de Oracle
que se utilizará para crear la secuencia siguiente.
Por ejemplo, para un generator_name de
sequence_id, se puede utilizar la sentencia de SQL siguiente para obtener el
número de secuencia siguiente.
Si esta regla marca entradas en el descriptor de despliegue de weblogic-cmp-rdbms-jar.xml, debe modificar manualmente el código de EJB para crear claves. Esta modificación se debe hacer antes de volver a crear los apéndices de EJB para WebSphere Application Server. Los ejemplos siguientes describen una vía de migración posible:
ejbCreate y ejbPostCreate del bean de entidad.ejbCreate y ejbPostCreate.create
del objeto EJB Home.create() de EJB Home
para pasar el número de secuencia siguiente.Los ejemplos generales siguientes muestran cómo sustituir la funcionalidad del código para claves generadas automáticamente de Oracle. Debe escribir código similar para cada bean CMP que utilice números de secuencia creados automáticamente de Oracle. Puede crear clases auxiliares de uso general para combinar lógica común que genera los números de secuencia para cada bean.
ejbCreate y ejbPostCreate del bean de entidad.Antes:
Después:
ejbCreatecreate
del objeto EJB Home.Antes:
Después:
create() de EJB Home
para pasar el número de secuencia siguiente.