Mapeando Herança no Hibernate

Bom dia pessoal, sou iniciante em java e estou desenvolvendo uma aplicação utilizando Hibernate, gostaria de saber como faço para Mapear uma Herança…

Tenho as Classes Paciente, Funcionario, Medico, que herdam da classe Pessoa…como faria para mapear herança?

O Hibernate está gerando assim o Paciente.java

Se puderem me ajudar, agradeço.

[code]public class Paciente implements java.io.Serializable {

 private int idpaciente;
 private Pessoa pessoa;
 private String tipopele;
 private String tiposangue;
 private String nompai;
 private String nommae;
 private Double altura;
 private Double peso;
 private Set exames = new HashSet(0);
 private Set contatos = new HashSet(0);
 private Set tratamentos = new HashSet(0);
 private Set historicoclinicos = new HashSet(0);

public Paciente() {
}


public Paciente(int idpaciente, Pessoa pessoa) {
    this.idpaciente = idpaciente;
    this.pessoa = pessoa;
}
public Paciente(int idpaciente, Pessoa pessoa, String tipopele, String tiposangue, String nompai, String nommae, Double altura, Double peso, Set exames, Set contatos, Set tratamentos, Set historicoclinicos) {
   this.idpaciente = idpaciente;
   this.pessoa = pessoa;
   this.tipopele = tipopele;
   this.tiposangue = tiposangue;
   this.nompai = nompai;
   this.nommae = nommae;
   this.altura = altura;
   this.peso = peso;
   this.exames = exames;
   this.contatos = contatos;
   this.tratamentos = tratamentos;
   this.historicoclinicos = historicoclinicos;
}

[/code]

Vamos dizer que tenho uma classe Pessoa, o mapeamento dela será:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="br.com.model">

    <class mutable="true" name="Pessoa" table="PESSOAS">

        <id name="id" column="ID" type="long" unsaved-value="null">
            <generator class="identity"/>
        </id>

        <property name="nome" column="NOME" type="string" length="40"/>
    </class>
</hibernate-mapping>

Agora o mapeamento da classe PessoaFisica, que é herança de Pessoa:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="br.com.model">

        <!--Cria herança no banco de dados-->
        <joined-subclass name="PessoaFisica" table="PESSOAS_FISICAS" extends="Pessoa">
            <key column="ID" foreign-key="FK_PESSOA_FISICA"/>
            <property name="cpf" column="CPF"/>
            <property name="rg" column="RG"/>
            <property name="sexo" column="SEXO" type="string" length="2"/>
        </joined-subclass>

</hibernate-mapping>