S�
para que o Clairton n�o fique em d�vida nas solu��es ( a enviada por mim e a
do Pinto): Na verdade elas s�o equivalentes. A diferen�a � que vc pode
usar a minha no caso de n�o querer deixar vis�vel o pacote de acesso a dados
java.sql para classes de neg�cio e deixar isso apenas para suas classes de
dados. Imagine que um servlet, ou um fa�ade ou uma janela Swing estejam usando
suas classes A e B, nesse caso vc n�o gostaria de "pular" uma camada e fazer
esses caras se amarraram ao pacote sql. Da� a id�ia do UserTransaction para
esconder isso. No entanto, se voc� n�o tiver esse tipo de requisitos ent�o use a
solu��o do Pinto que � mais direta ao ponto.
Carlo
Giovano
CEJUG
-----Mensagem original-----
De: Francisco Pinto Ara�jo J�nior [mailto:[EMAIL PROTECTED]]
Enviada em: segunda-feira, 4 de novembro de 2002 09:54
Para: [EMAIL PROTECTED]
Assunto: Re: [cejug-discussao] Re: [cejug] Fw: D�vidasClairton,Voce podia utilizar o conceito de transa��o.A id�ia seria algo maisno menos assim:class ClassA{public void InclusaoClasseA( Connection con )throws Exception{// Aplica a tua atualiza��o em usando a conex�o passada (con)
}}class ClassB{public void InclusaoClasseB( Connection con )throws Exception{// Aplica a tua atualiza��o em usando a conex�o passada (con)
}}Na classe (X) que faz a opera��o desejada (Y), de incluss�o nas duas tabelas.:class X{void Y(){Connection con = getConnection() // Pega de algum forma uma conex�oClasseA classA = new ClasseA();...ClasseB classB = new ClasseB();...try{classeA.InclusaoClasseA( con );classeB.InclusaoClasseB( con );// Se chegar aqui, � por que tah tudo okcon.commit(); // Efetiva a transa��o}catch( Exceptio e ){// Se chegar aqui � por que alguma das 2 opora��es teve problemascon.rollback(); // Joga fora as opera��es realizadas.throw e; // Propaga adiante, se for o caso, a exce��o que aconteceu// aqui, de modo que a aplica��o saiba que n�o foi realizada// com sucesso.}}}Francisco Pinto Ara�jo J�nior
Diretor de Tecnologia - Softexport Inform�tica
Msc. Ci�ncia da Computa��o
SCPJ2
Fone/Fax: +55 85 458 1947
[EMAIL PROTECTED]
www.softexport.com.br----- Original Message -----From: "Clairton" <[EMAIL PROTECTED]>To: <[EMAIL PROTECTED]>Sent: Monday, November 04, 2002 8:17 AMSubject: [cejug-discussao] Re: [cejug] Fw: D�vidas>
> Caros senhores da lista:
>
> Tenho uma classe chamada de ClasseA, que tem o um metodo publico de
> inclus�o chamado InclusaoClasseA, e inseri na tabela TabelaClasseA.
> Tenho outra classe chamada de ClasseB, que tem o um metodo publico de
> inclus�o chamado InclusaoClasseB, e inseri na tabela TabelaClasseB.
> Ent�o a d�vida:
> Como fa�o para encapsular os dois metodos para aproveitar a mesma conex�o de
> banco de dados ? Ou seja : Se eu inserir na tabela TabelaClasseA e em
> seguida tentar inserir TabelaClasseB e na classe ClasseB der um erro no
> m�todo InclusaoClasseB, desfazer a minha inclus�o na InclusaoClasseA.
>
> Agradece
>
> [EMAIL PROTECTED]
>
