Como retornar Generated Keys com relacionamento de classes?

Estou com um uma dúvida. Na minha aplicação simples, eu relaciono duas classes assim como no banco de dados. Porém meu método de salvar está com RETURN_GENERATED_KEYS não retorna justamente o campo que faz ligação com a outra classe. Embora ele salve no banco de dados, ele não retorna esse resultado e toda vez eu tenho que reiniciar o tomcat pra ele exibir. Também fiz o teste com o Junit, ele retorna null nesse campo.
public void salvar(Produtos p) {

		try {
			Connection conectar = ConnectionFactory.conectar();
			PreparedStatement ps = null;
			String sql = "insert into produtos (descricao, fornecedor, preco, quantidade) values (?, ?, ?, ?)";
			ps = conectar.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
			ps.setString(1, p.getDescricao());
			ps.setInt(2, p.getFornecedor().getIdfornecedores());
			ps.setDouble(3, p.getPreco());
			ps.setInt(4, p.getQuantidade());
			ps.executeUpdate();
			ResultSet rs = ps.getGeneratedKeys();
			if(rs.next()) {
				p.setIdprodutos(rs.getInt(1));
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}

Veja meu código para testar no Junit

	public void salvar() {
		Produtos p = new Produtos();
		Fornecedores f = new Fornecedores();
		p.setDescricao("Teste17");
		f.setIdfornecedores(25);
		p.setFornecedor(f);
		p.setPreco(15.90);
		p.setQuantidade(50);
		pdao.salvar(p);
		System.out.println("id: "+p.getIdprodutos());
		System.out.println("descricao:"+p.getDescricao());
		System.out.println("fornecedor: "+p.getFornecedor().getDescricao());
		System.out.println("preco: "+p.getPreco());
		System.out.println("qtde: "+p.getQuantidade());
		
	}