Qual a diferença entre esses dois tipos de Componentes EJB?
Não são componentes diferentes, são maneiras diferentes de persistir dados em componentes.
Procure aqui.
[]s
Com toda a sinceridade do mundo…
O BMP te faz tomar no cu pra programar e pra configurar, e depois pra fazer deploy, e depois pra pedir desculpas a gerencia do projeto e tentar explicar pq o projeto atrasou tanto pra entrar em producao.
O CMP te faz tomar no cu pra configurar, e depois pra fazer deploy, e depois pra pedir desculpas a gerencia do projeto e tentar explicar pq o projeto atrasou tanto pra entrar em producao.
Resumindo, no BMP quem gerencia a persistencia dos objetos eh voce. Nao que voce va querer fazer isso. Serio. Pule esse capitulo do livro, disfarce e finja que nunca ouviu falar de BMP a nao ser em piadas. Ou do CMP em historias de horror.
hauhauhauhauhauhauhauhauhauhauhauhauhauhau…
[------------mijando de rir---------------]
Ae e sem falar na EJBQL…que vc tem q usar pra implementar CMP…
e aindaexistem extensões dela que variam de servidor pra servidor…
Lembre-se! Keep It Simple!
Bom , acho q a explicação que vc queria esta abaixo:
BMP , é um tipo de Entity onde voce controla o Acesso ao banco de dados , vc tem que realizar as conexoes na mao , procurar os dados , SELECT mesmo… , este tipo só é utilizado em sistemas antigos ou em alguns casos especificos onde CMP não eh uma boa saida… , fique longe dos BMP’s , vc acaba caindo no problema do n+1 e em locks eternos…
CMP, é a evolução do BMP , agora voce nao controla mais o acesso ao banco e nem faz comando SELECT , INSERT , UPDATE , quem faz isso é o Container EJB , ele controla a carga e a descarga da entidade , faz insert quando vc cria , deleta quando vc “remove” , vc nao faz mais nenhum comando SELECT, uma desvantagem do CMP são os arquivos .xml , vc vai precisar quebrar muitos paradigmas.
Como visto acima em outros comentarios, algumas pessoas nao lidao direito com isso e acabao por “nadar… nadar … nadar e morrer na praia” , mas vc precisa saber se Beans de Entidade são realmente o que vc precisa , pois vc pode acabar onerando o seu projeto em tempo e custo de desenvolvimento , Beans de entidade comecao a ficar interessante quando vc precisar integrar as coisas , fazer processamento com dados distribuidos. Se o seu programa for apenas uma “INTERFACE BUNITINHA” para um acesso ao banco de dados , Entity Beans vao só complicar a sua vida.