[Resolvido] Erro PSQLException: ERRO: transação atual foi interrompida

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

Coloque o this.connection.setAutoCommit(false); da linha 01 para a linha 17 de seu código.


		
			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());	

                        // coloquei apenas o setAutoCommit na linha abaixo e retirei da linha 1.

			this.connection.setAutoCommit(false);
			enderecoDAO.inserir(empresa.getEndereco());	
			
			empresaDAO.inserir(empresa);