Um DAO acessando outro DAO

Olá pessoal,
em minha aplicação tenho dois DAO’s em pacotes diferentes, no “DAO A” eu executo uma inserção no banco de dados, porém, eu não posso comitar a inclusão antes de fazer um update em outra tabela do banco atravésdo “DAO B”.
A minha dúvida, é: Como eu faço para aproveitar a mesma conexão e dar o commit somente após eu atualizar a tabela no “DAO B”? Posso chamar o método de update do “DAO B” de dentro do método de inserção do “DAO A” e passar como parâmetro a conexão do A?
Gostaria de saber se isto é correto, e caso não seja qual a melhor forma.
Obrigado.

Olha, quando eu uso JDBC e preciso desse tipo de lógica, eu faço da forma que você citou. Apenas tomo o cuidado de passar a conexão corretamente para o outro método.

Oi amigo, mas eu creio que um DAO acessando o outro diretamente aumenta o acoplamento. O que você acha?

Obrigado.

Pense em algo como um Command, que é uma classe que tem a função de executar alguma coisa. Nela você consegue garantir que um Dao irá executar uma função e o outro outra, e se um deles der problema, vc faz um rollback geral.

Bom, este pattern tem outras funcionalidades, mas em suma, é garantir que vc não acople classes diretamente uma na outra.

De uma procurada aqui no pj nos posts velhos sobre isso.

abraços!