Boa tarde,
Gente to com um problemão, não sei como prosseguir.
Tenho duas classes de um programa de pedidos.
Pedido extends DAO
Item extends DAO
Porém, preciso abrir uma transação pra salvar os itens e os pedidos, não quero que de falha e fique item faltando e dê falha no banco.
Gostaria que me ajudassem com isso.
O Problema que eu tenho é que: Para abrir uma transação, eu tenho que ter diversos PreparedStatement vinculados a uma unica conexão, sendo que são classes diferentes que utilizam Connection, PreparedStatement e o ResultSet herdados da Classe DAO.
São classes distintas, em um padrão que aprendi em curso, como posso fazer transação entre eles ?
surfzera
Na verdade acho que entendi o seu problema … poderia me apresentar sua entidade Pedido e ItemPedido ? Quero ver como elas estão relacionada .
victorhdchagas
Bom, o unico vinculo de relacionamento é via código, é um projeto pronto que foi arquitetado em 1990…
eduardoac
Olá, boa tarde!
Seguinte, é bem interessante você ter uma classe Business Object (BO) que chame os seus DAOs, portanto, o controle de transação estaria nela e não nos DAOs. Pelo jeito você esta trabalhando com autocommit = true, acho que não deveria trabalhar dessa forma. Deixe os BOs controlar as transações.
Você pode usar Hibernate?
Abraços!
victorhdchagas
Poder eu posso, porém o sistema aqui tem tabelas com 113 colunas (sim varias, e muitas vezes as colunas se repetem)