jaziel.rc
De uma olhada na anotação @MappedSuperclass, deve servir ao que tu procura.
preto539
É que eu estou usando XML, teria alguma tag que representasse isso?
Priuli
Eu utilizo com estas anotações:
@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="cd_pessoa", discriminatorType=DiscriminatorType.INTEGER)
@DiscriminatorValue(value="0")
class Pessoa implements Serializable {
//...
}
@Entity
@DiscriminatorValue(value="1")
@Table(name="FUNCIONARIO")
class Funcionario extends Pessoa implements Serializable {
//...
}
preto539
Galera consigui, achei um exemplo no livro hibernate em ação
O mapeamento :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class
name="Classes.Pessoa"
table="Pessoa">
<id
name="id"
column="id">
<generator class="increment"/>
</id>
<property name="nome" column="nome"/>
<property name="datanasc" column="datanasc" type="date"/>
<property name="endereco" column="endereco"/>
<property name="cpf" column="CPF"/>
<joined-subclass
name="Classes.Cliente"
table="Cliente">
<key column="id"/>
<property name="telefone" column="telefone"/>
</joined-subclass>
<joined-subclass
name="Classes.Funcionario"
table="Funcionario">
<key column="id"/>
<many-to-one cascade="save-update" class="Classes.Cargo" column="cargo" lazy="false" name="cargo"/>
<property name="salario" column="salario" type="double"/>
</joined-subclass>
</class>
</hibernate-mapping>