Pessoal, tenho o seguinte problema:
Tenho uma classe UserDAO onde tenho o método delete, observe como obtenho a conn
public boolean delete( long cod_usuario ) throws SQLException {
Connection conn = null;
PreparedStatement stmt = null;
boolean deletou = false;
try {
conn = DBConnection.getConnection();
stmt = conn.prepareStatement(LoadSQL.getInstance().Load("UsuarioDAO.delete"));
stmt.setLong( 1, cod_usuario );
deletou = (stmt.executeUpdate() > 0) ? true : false;
} catch (SQLException e) {
Log.getInstance(EmpresaDAO.class).error("[delete] UsuarioDAO: " + e.getMessage());
throw e;
} finally {
DBConnection.closeConnection( stmt );
}
return deletou;
}
Na mina camada de negócio, ao deletar um usuario preciso fazer a deleção em outras tabelas (outros DAO ) como grupo e empresa.
Mas não consigo setar a propriedade de autocommit da conexao como false,
Já que em cada DAO tenho uma connection…
Eu precisaria de algo como no exemplo com **.
CÓDIGO DA CAMADA DE NEGOCIO.
public boolean delete( long cod_usuario ) throws SQLException {
//***** set autocommit false*****
grupo.BD.getInstance().delete;
empresaBD.getInstance().delete;
return (new UsuarioDAO()).delete( cod_usuario );
//******** commit ou rollback**
}
Alguém poderia me dizer qual seria a forma correta de implementar isso…
lembrando que não utilizo EJB.