Antigamente, quando o Hibernate era configurado por XML era possível usar uma construção onde era possível usar duas colunas para relacionar com qualquer tipo de dados. O endereço poderia estar relacionado com cliente ou fornecedor por exemplo. De qualquer forma fazer esse relacionamento é bem complicado. Não tem documentação específica sobre isso nem na documentação do Hibernate.
Hoje, com annotations isso não é mais possível. Tem que se ter uma FK para cada tabela mesmo. É mais fácil de mapear inclusive.