Qual maneira é melhor?

Galera tenho um BD na qual destaco 3 tabelas…
tabela: pessoa_fisíca
tabela: pessoa_jurídica
tabela: endereco

quero trabalhar com o JPA… no caso endereco a melhor maneira é colocar a chave estrangeira de pessoa física e jurídica e só preencher um dos campos quando estiver cadastrando qualquer um dos dois? ou em endereco colocar um campo para receber a chave de um dos dois, e colocar outro campo chamado tipo char… onde pode receber “F” ou “J” para identificar que aquela chave é de qual tabela.

Para completar se possível qual seria a melhor maneira no JPA?

Desde já obrigado

Não seria o caso de fazer uma herança?

e no BD como faria??

Eu faria o sguinte…

class Endereco {
   
}

class Pessoa {
Long id;
   Endereco e;
   // atributos em comun da PF e PJ
}

class PessoaFisica  extends Pessoa {
}

class PessoaJuridica extends Pessoa {
}