Os relacionamentos com CMP são gerenciados pelo contêiner com base em como os relacionamentos são descritos no descritor de deployment geral
no ejb-jar.xml.
Para modificar relacionamentos com CMP no ejb-jar.xml:
Na janela Projetos, expanda o nó Arquivos de configuração do projeto de módulo EJB e clique duas vezes em ejb-jar.xml..
Na parte superior do editor gráfico, clique em Relacionamentos com CMP.
O editor visual exibe uma tabela dos relacionamentos gerenciados por recipiente existentes do módulo EJB.
Clique duas vezes no nome do relacionamento na tabela para abrir a caixa de diálogo Editar relacionamento com CMP.
Edite as propriedades da descrição do relacionamento na caixa de diálogo.
Clique em OK.
Quando edita o relacionamento no ejb-jar.xml, você talvez precise também fazer as alterações correspondentes em seu código-fonte.
Para remover um relacionamento com CMP em ejb-jar.xml:
Na janela Projetos, expanda o nó Arquivos de configuração do projeto de módulo EJB e clique duas vezes em ejb-jar.xml..
Na parte superior do editor gráfico, clique em Relacionamentos com CMP.
O editor visual exibe uma tabela dos relacionamentos gerenciados por recipiente existentes do módulo EJB.
Selecione o nome do relacionamento na tabela e clique em Remover
Criando um relacionamento com CMP
Se você estiver gerando beans de entidade CMP do zero e precisar especificar os relacionamentos com CMP para usa aplicação, será preciso editar o arquivo do descritor de deployment no editor XML. Você também precisa fazer as alterações correspondentes em seu código-fonte. Quando trabalha com beans de entidade CMP, o IDE não atualize seu código-fonte com base nas alterações que você faz no ejb-jar.xml.
Para criar novos relacionamentos com CMP no ejb-jar.xml:
Na janela Projetos, expanda o nó Arquivos de configuração do projeto de módulo EJB e clique duas vezes em ejb-jar.xml..
Clique na aba XML e edite o arquivo do descritor de deployment no editor XML.
Cada relacionamento com CMP requer o seguinte.
O nome de um relacionamento.
Cada extremidade dos relacionamentos requer que o seguinte seja definido.
Nomes diferentes para a função do relacionamento e o bean de entidade no qual começa e termina o relacionamento.
A multiplicidade do relacionamento.
Se a exclusão em cascata estará ativada para ambos os lados do relacionamento. Quando a exclusão em cascata estiver ativada para um bean de um relacionamento, ao excluir tal Bean, o Bean relacionado a ele também será excluído.
Se será criado um campo CMR (Container-Managed Relationship - Relacionamento gerenciado por recipiente) para o Bean. Se criar um campo CMR, o servidor da aplicação pode procurar e retornar instâncias do Bean ao qual o campo faz referência. O nome da classe deve começar com letra minúscula.
O tipo de retorno do campo CMR. Se a multiplicidade do bean que está sendo retornado for um, você não tem que especificar o tipo de retorno. O servidor da aplicação retorna automaticamente a interface do enterprise bean.
Se a multiplicidade está definida em vários, você pode escolher se retorna java.util.Set ou java.util.Collection. Escolha java.util.Set se os beans retornados não podem ser duplicados. Escolha java.util.Collection se os beans retornados podem incluir cópias.
Observações:
Ao gerar beans de entidade CMP de um banco de dados, o IDE registra automaticamente todas os relacionamentos gerenciados por recipiente baseados nos relacionamentos do banco de dados.
Alterações no descritor de deployment ejb-jar.xml podem resultar em alterações automáticas ou necessárias nos correspondentes descritores de deployment específicos para servidores. Por exemplo, ao adicionar um relacionamento em ejb-jar.xml, você tem de mapeá-la para um banco de dados real no descritor de deployment específico para servidores.
Você deve ter cuidado ao editar os descritores de deployment em XML e sempre validar seu arquivo XML para evitar erros.
Para obter uma lista completa das propriedades configuráveis de todos os tipos de módulos J2EE, consulte "Arquivos do descritor de deployment" no Apêndice A do Guia do desenvolvedor do servidor da aplicação Sun Java System.
Para obter uma descrição detalhada das especificações do bean de entidade CMP, consulte a Especificação Enterprise JavaBeans, v2.1.