Bom dia pessoal,
Estou fazendo um cadastro em JAVA utilizando JDBC, segue uma parte do código abaixo. Na linha 16 quando entra no método pegarProximoCodigoEndereco(), dá o seguinte erro:
[color=red]org.postgresql.util.PSQLException: ERRO: transação atual foi interrompida, comandos ignorados até o fim do bloco de transação.[/color]
this.connection.setAutoCommit(false);
empresaDAO = FabricaDAO.getEmpresaDAO(FabricaDAO.TIPO_JDBC);
((EmpresaJDBCDAO)empresaDAO).setConnection(connection);
empresa.setCodigo(empresaDAO.pegarProximoCodigoEmpresa());
try {
BairroDAO bairroDAO = FabricaDAO.getBairroDAO(FabricaDAO.TIPO_JDBC);
((BairroJDBCDAO)bairroDAO).setConnection(connection);
bairroDAO.inserir(empresa.getEndereco().getBairro());
} catch (Exception e) {
}
EnderecoDAO enderecoDAO = FabricaDAO.getEnderecoDAO(FabricaDAO.TIPO_JDBC);
((EnderecoJDBCDAO)enderecoDAO).setConnection(connection);
empresa.getEndereco().setCodigo(enderecoDAO.pegarProximoCodigoEndereco());
enderecoDAO.inserir(empresa.getEndereco());
empresaDAO.inserir(empresa);
Segue abaixo o método pegarProximoCodigoEndereco() da clase EnderecoJDBCDAO:
public Long pegarProximoCodigoEndereco() throws SQLException {
PreparedStatement stmt = connection
.prepareStatement("SELECT nextval('enderecos_codigo_seq')");
ResultSet rs = stmt.executeQuery();
rs.next();
Long codigo = rs.getLong(1);
rs.close();
stmt.close();
return codigo;
}
Alguém poderia me ajudar?
abraços