Diretrizes: Projetando Beans de Entidade
Tópicos
Introdução
Essa diretriz focaliza o design de beans de entidade. Orientação adicional sobre os beans de
entidade, tal como identificá-los e modelá-los, é fornecida por Diretrizes:
Beans de Entidade. Orientação geral sobre EJBs é fornecida por Diretrizes:
EJBs (Enterprise JavaBeans).
Atributos Persistentes e Chave Principal
Identifique os atributos persistentes e a chave principal do bean de entidade.
BMP (Persistência Gerenciada
por Bean) versus CMP (Persistência Gerenciada por Contêiner)
Consulte Conceitos: Visão Geral da Plataforma J2EE
para obter uma descrição dessas duas abordagens para persistência.
Em geral, a persistência gerenciada por contêiner requer menos código e mais simples que
a persistência gerenciada por bean. Entretanto, se o desempenho for crítico ou se for necessário
mais controle sobre a lógica para o mapeamento de banco de dados, poderá ser necessário utilizar
a persistência gerenciada por bean.
Se o seu contêiner EJB não tiver o nível de suporte necessário, talvez você
deseje considerar a utilização de uma ferramenta de mapeamento relacional a objetos de terceiros,
com a persistência gerenciada por bean ou, se a ferramenta estiver integrada ao contêiner,
com a persistência gerenciada por contêiner.
Se você decidir utilizar a persistência gerenciada por contêiner e houver um Modelo
de Dados, os EJBs de entidade CMP poderão ser mapeados para as tabelas de bancos de dados no Modelo de Dados. Esse mapeamento será refletido, enfim, no descritor de implementação dos
módulos EJB. Para obter informações adicionais, consulte Diretrizes:
Montagem de Módulos J2EE.
Se você decidir utilizar a persistência gerenciada por bean, encapsule todo o acesso ao banco de dados
em uma classe DAO (Data Access Object). Isso é apenas uma classe Java que oculta
e encapsula o mecanismo de armazenamento subjacente e isola as mudanças quando
e se a interface à origem de dados for alterada. Mesmo se for esperado que a origem
de dados seja sempre um RDBMS, poderá haver diferenças sutis na sintaxe SQL
e no formato que serão beneficiadas com o isolamento em uma classe DAO. Consulte Padrões
Núcleo de J2EE - Padrão do Objeto de Acesso a Dados ([ALU01].
|