Hibernate Herança da Herança

2 respostas
sistemald

Olá,

meu problema é o seguinte, tenho uma classe Pessoa, PessoaFisca que Herda de Pessoa, e Fiscal que herda de PessoaFisica.

Pessoa -> PessoaFisica -> Fiscal

Como podem vê Fiscal, usa herança da herança, minha duvida é como fazer os arquivo de mapeamento de Fiscal

<?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="Domain.Pessoa" table="PESSOA" >
  
  <!-- Identificador da classe -->

  <id name="codPessoa">
   <generator class="increment"/>
  </id>
  
  <!-- Propriedades da classe -->

  <property name="nome"/>
  ...
  <property name="site"/>
 
 
 </class>

</hibernate-mapping>
<?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>

	<joined-subclass name="Domain.PessoaFisica" extends="Domain.Pessoa">
	
		<key column="codPessoa"/>
		
		<property name="apelido"/>
                ...
            
	
	</joined-subclass>

</hibernate-mapping>

e Aqui o problema

<?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>

	<joined-subclass name="Domain.Fiscal" extends="Domain.PessoaFiscal">
	
		<key column="codPessoa"/>
                
                <property name="login"/>
                <property name="senha"/>
		
		<!--
                <set name="turmas"
			 inverse="true">
			<key column="codpessoa"/>
			<one-to-many class="Turma"/>
		</set>
                -->
	
	</joined-subclass>

</hibernate-mapping>
Deu o seguinte erro
...
02:10:50,084 DEBUG Configuration:1126 - processing extends queue
org.hibernate.MappingException: Following superclasses referenced in extends not found: Domain.PessoaFiscal
        at org.hibernate.cfg.Configuration.processExtendsQueue(Configuration.java:1209)
        at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1128)
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
        at Util.HibernateUtility.<clinit>(HibernateUtility.java:27)
....

2 Respostas

spadinha

olha o extends do seu fiscal

esta herdando de pessoaFiscal
e nao de pessoaFisica.

sistemald

Oi,

obrigado pela, realmente era só isto.

Acho que foi cansaço da 2 da manha.

Criado 24 de maio de 2008
Ultima resposta 25 de mai. de 2008
Respostas 2
Participantes 2