Problemas com jdbc

pessoal bom dia, estou com uma dúvida para inserir em duas tabelas utilizando jdbc, pois preciso do id que é gerando automaticamente de uma das tabelas para dar um insert na outra. Utilizo o postgresql e eclipse. como fazer isso.

estou usando este método e não está funcionando, segue o método:

[code] int codigoEndereco = -1;

	String sql2 = "insert into endereco (rua, cep, bairro, cidade, uf, numero) values (?,?,?,?,?,?) RETURNING (codigoendereco) ";

	try {
		PreparedStatement pstm1 = conexao.prepareStatement(sql2);


		pstm1.setString(1, endereco.getRua());
		pstm1.setString(2, endereco.getCep());
		pstm1.setString(3, endereco.getBairro());
		pstm1.setString(4, endereco.getCidade());
		pstm1.setString(5, endereco.getUf());
		pstm1.setString(6, endereco.getNumero());

		pstm1.executeUpdate();
		
		ResultSet rs = pstm1.executeQuery();
		if (rs.next()){
			
		codigoEndereco = rs.getInt("codigoendereco");
		}[/code] 

Segue o Erro:

org.postgresql.util.PSQLException: Um resultado foi retornado quando nenhum era esperado. at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:339) at cliVet.DAO.UsuarioDAO.inserirUsuario(UsuarioDAO.java:37) at cliVet.testes.TexteBanco.main(TexteBanco.java:39)

obrigado a todos!!!

alguém pode me ajudar?

Opa… costumo fazer assim e funciona:

[code]…
PreparedStatement pstm1 = conexao.prepareStatement(sql2, Statement.RETURN_GENERATED_KEYS); // linha modificada

pstm1.executeUpdate();
ResultSet rs = pstm1.getGeneratedKeys(); // linha acrescentada

if(rs.next()){
codigoEndereco = rs.getInt(1); // linha modificada
}
[/code]