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
Sent: Saturday, May 04, 2002 1:36 PM
Subject: Re: [java-list] ejb []s At 10:07 2/5/2002 -0300, you wrote: Da mesma forma que se faz normalmente... ----------- 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 |
- [java-list] EJB Thiago Costa Marques
- Re: [java-list] EJB Anderson Corrêa
- [java-list] Forte e Net beans Marisângela Pacheco Brittes
- Re: [java-list] Forte e Net beans Marcelo Alves
- [java-list] ejb Romulo Oliveira Souza
- [java-list] EJB Sérgio Larentis Junior
- [java-list] ejb Romulo Oliveira Souza
- [java-list] ejb Romulo Oliveira Souza
- Re: [java-list] ejb Raphael
- Re: [java-list] ejb Herval Freire
- Re: [java-list] ejb Marco Aurelio Vilela Garcia
- Re: [java-list] ejb Herval Freire
- Re: [java-list] ejb Daniel Felipe \(Bonão\)
- [java-list] ejb Romulo Oliveira Souza
- Re: [java-list] ejb Marco Aurelio Vilela Garcia
- Re: [java-list] ejb Rosfran Lins Borges
- Re: [java-list] ejb Romulo Oliveira Souza
- [java-list] ejb Romulo Oliveira Souza
- [java-list] ejb Romulo Oliveira Souza
- Re: [java-list] ejb Dormevilly N. Tertius
- [java-list] ejb Romulo Oliveira Souza