Os descritores de implementação WebLogic para beans persistentes gerenciados pelo contêiner permitem que os aplicativos usem um recurso para geração de sequência automática de banco de dados (chave). Ao usar esse recurso, um aplicativo WebLogic não precisa incluir código para gerar a próxima chave de sequência ao criar objetos CMP EJB. Ao migrar aplicativos WebLogic que incluem geração de sequência automática, o código do aplicativo deverá ser incluído para gerar o identificador de sequência para novas entradas.
O arquivo weblogic-cmp-rdbms-jar.xml contém informações para EJBs da entidade que usam
persistência baseada em WebLogic RDBMS.
Essa regra faz a varredura para encontrar configuração do elemento automatic-key-generation do WebLogic e fornece informações de migração para o tipo gerador da Oracle.
Esse exemplo mostra um elemento que será sinalizado por esta regra:
A entrada generator-name indica o nome da tabela DUAL da Oracle a ser usada para gerar a próxima sequência.
Por exemplo, especificado um generator_name de sequence_id, a próxima instrução
SQL poderá ser usada para obter o próximo número de sequência.
Se essa regra sinalizar entradas em seu descritor de implementação weblogic-cmp-rdbms-jar.xml, você precisará executar etapas para modificar manualmente seu código EJB para criar chaves. Essas etapas precisam ser executadas antes da nova geração de seus stubs EJB para WebSphere Application Server. Os exemplos a seguir esboçam um caminho de migração potencial.
ejbCreate e ejbPostCreate do bean de entidade.ejbCreate e ejbPostCreate.create do EJB Home.create() do EJB home é chamado para passar o próximo número de sequência.Os exemplos de alto nível a seguir mostram como substituir a funcionalidade da lógica de chaves gerada automaticamente pela Oracle. É necessário gravar um código semelhante para cada bean CMP que usa os números de sequência gerados automaticamente pela Oracle. É possível criar classes de ajuda do utilitário para combinar lógica comum que gera os números de sequência para cada bean.
ejbCreate e ejbPostCreate do bean de entidade.Antes:
Depois:
ejbCreate.create do EJB Home.Antes:
Depois:
create() do EJB home é chamado para passar o próximo número de sequência.