[]s
At 09:04 6/5/2002 -0300, you wrote:
Desculpem entrar na conversa, eu sou novo na lista mas estou me especializando em EJBs.
Romulo;
Sobre o CMP é muito fácil trabalhar com ele, entretanto ainda existem alguns problemas em configurá-los. Codificar é a parte mais simples. Estou mandando um código que eu mesmo fiz para um projeto. Observe-o como referência.
São três classes, uma interface local, uma home e a classe do EJB. Os campos da tabela que ele acessa são: Varchar: nome, varchar: descricao, float: valor, int: quantidade e int: codigo.
Observe que não há código SQL (que é configurado em alguma ferramenta de montagem). As funções para tratamento da lógica do negócio são bastante simples. Espero que ajude em alguma coisa.
Abraços
Marco
/**
* @author Marco Aurélio Vilela Garcia
* @version Esperimental para PFC
**/
package com.loja.ejbs;
import javax.ejb.*;
import java.util.Collection;
public interface ProdutoHome extends EJBLocalHome
{
public ProdutoLocal create(Integer Codigo, String Nome, String Descricao,
int Quantidade, float Valor) throws CreateException;
public ProdutoLocal findByPrimaryKey(Integer Codigo) throws FinderException;
public Collection findAll() throws FinderException;
}
/**
* @author Marco Aurélio Vilela Garcia
* @version Esperimental para PFC
**/
package com.loja.ejbs;
import javax.ejb.EJBLocalObject;
public interface ProdutoLocal extends EJBLocalObject
{
public Integer getCodigoProduto();
public String getNomeProduto();
public String getDescricaoProduto();
public float getValorProduto();
public int getQuantidadeDisponivel();
public void retiraEstoque(int quant) throws Exception;
public void reporEstoque(int quant);
}
/**
* @author Marco Aurélio Vilela Garcia
* @version Esperimental para PFC
**/
package com.loja.ejbs;
import javax.ejb.*;
public abstract class ProdutoEJB implements EntityBean {
private EntityContext context;
private int quantidadeReservada = 0;
public ProdutoEJB() {}
public Integer ejbCreate(Integer Codigo, String Nome,String Descricao,int Quantidade,float Valor)
throws CreateException {
this.setCodigo(Codigo);
this.setDescricao(Descricao);
this.setNome(Nome);
this.setQuantidade(Quantidade);
this.setValor(Valor);
return Codigo;
}
public void ejbPostCreate(Integer Codigo, String Nome,String Descricao,int Quantidade,float Valor)
throws CreateException {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void ejbLoad() {}
public void ejbStore() {}
public void ejbRemove() throws RemoveException {}
public void setEntityContext(EntityContext ctx) {
this.context = ctx;
}
public void unsetEntityContext() {
this.context = null;
}
/*==============================================================================
Métodos da lógica de negócio
================================================================================
==============================================================================*/
public Integer getCodigoProduto(){
return this.getCodigo();
}
public String getNomeProduto(){
return this.getNome();
}
public String getDescricaoProduto(){
return this.getDescricao();
}
public float getValorProduto(){
return this.getValor();
}
public int getQuantidadeDisponivel(){
return this.getQuantidade();
}
public void reporEstoque(int quant){
int quantEstoque = this.getQuantidade();
this.setQuantidade(quantEstoque + quant);
}
public void retiraEstoque(int quant) throws Exception{
int quantEstoque = this.getQuantidade();
if(quantEstoque >= quant)
this.setQuantidade(quantEstoque - quant);
else throw new Exception("Existem apenas " + quantEstoque + " "+this.getNome());
}
/*==============================================================================
Métodos get e set para campos persistentes
================================================================================
==============================================================================*/
public abstract String getNome();
public abstract void setNome(String Nome);
public abstract String getDescricao();
public abstract void setDescricao(String Descricao);
public abstract float getValor();
public abstract void setValor(float Valor);
public abstract int getQuantidade();
public abstract void setQuantidade(int Quant);
public abstract Integer getCodigo();
public abstract void setCodigo(Integer Codigo);
}
----- Original Message -----
From: Herval Freire
To: [EMAIL PROTECTED]
Sent: Saturday, May 04, 2002 1:36 PM
Subject: Re: [java-list] ejb
Raphael,
E quanto ao CMP (Container Managed Persistence)?
Como se configura um ejb para que ele funcione, sem q seja preciso fazer Bean Managed Persistence?
[]s
At 10:07 2/5/2002 -0300, you wrote:
Da mesma forma que se faz normalmente...
Usando JDBC.
O que acontece muitas vezes (ou sempre) é o uso de pool de conexão que vc
pega um dataSource no serviço de nomes e se conecta ao banco, o resto fica
da mesma forma que vc possivelmente fazia quando não utilizava EJB.
raphael silva
----- Original Message -----
From: "Romulo Oliveira Souza" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, April 30, 2002 11:06 AM
Subject: [java-list] ejb
Ola pessoal,
Por favor, alguem sabe como
eu faço a conexão de um bean
(Sessao/entidade) a um bd?
Obrigado.
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------
-------------------------------------------------
----------- Herval Freire de A. Júnior ----------
----------- mailto:[EMAIL PROTECTED] ------------
--------- http://www.herval.hpg.com.br ----------
----------------- UIN: 2067270 ------------------
-------------------------------------------------
--[The adepts are everywhere... awake! v0.666a]--
-------------------------------------------------
First they ignore you
Then they laugh at you
Then they fight you
Then you win
-- Mahatma Gandhi
----------- Herval Freire de A. Júnior ----------
----------- mailto:[EMAIL PROTECTED] ------------
--------- http://www.herval.hpg.com.br ----------
----------------- UIN: 2067270 ------------------
-------------------------------------------------
--[The adepts are everywhere... awake! v0.666a]--
-------------------------------------------------
“First they ignore you
Then they laugh at you
Then they fight you
Then you win”
-- Mahatma Gandhi