Herança de entidades

Em JPA, uma entidade (@Entity) pode ser uma subclasse de outra entidade sem problemas? Não estaria fugindo do padrão POJO ou ferindo alguma boa prática?

E se isso for possível, como proceder para persistir uma subclasse? Primeiramente teria que persistir a superclasse e somente após, persistira a subclasse?

Desde já, agradeço.

[]s.

Quando você faz uma herança em classes persistentes significa que essas entidades são especializadas.

Por Exemplo:

public class Pessoa {}
public class PessoaFisica extends Pessoa{}
public class PessoaJuridica extends Pessoa{}

Costumo fazer isso para as minhas ORM e é uma boa prática a seguir.

Abs,

Isso é justamente o que eu imaginava em fazer.

Porém, quando eu mandar persistir uma entidade PessoaFisica, posso mandar salvar apenas essa entidade que o ORM saberá que tem que salvar a entidade Pessoa antes? Quero dizer, tenho tabela Pessoa e a tabela PessoaFisica, quando quero persistir uma nova entidade PessoaFisica, cujo Id é relacionado com a tabela Pessoa, ele salvará primeiramente a entidade na tabela pessoa e depois na tabela pessoafisica, ou tenho que ordenar ele para persistir primeiro em uma e depois na outra?

Exemplo:

entityManager.persist(pessoaFisica);

ou

entityManager.persist((pessoa) pessoaFisica);
entityManager.persist(pessoaFisica);

Grato!

Usando a ferramenta Wizard do Netbeans para criar automaticamente as entidades JPA a partir do meu modelo no SGBD, ele cria entidade Pessoa encapsulada em um atributo da entidade PessoaFísica, e não cria a classe PessoaFísica como uma extensão de Pessoa. Ou seja, usa encapsulamento e não a herança.

Qual seia a vantagem ou desvantagem desse modelo?

.[]s;

Eu encontrei esse exemplo no google que discreve meu problema com clareza: http://tads.cefetrn.br/fellipe/lib/exe/fetch.php?media=disc:tads:psc:jpa-06.pdf

A dúvida seria como fazer para o Wizard do Netbeans gerar as entidades usando este conceito. Seria possível ?

[]s.

Pessoal, instalei o Eclipse para testar, mas também não estou acertando como fazer para ele adotar a geração de entidades automaticamente das tabelas com @Inheritance e estratégia JOINED. Se alguém tiver a dica, é bem vinda.

Abraços.