Hibernate: Mapear classes em pacotes diferentes

4 respostas
R

Olá pessoal, estou com um problema no mapeamento de uma classe aqui. Quando eu coloco a minha classe Endereco dentro de um pacote separado da classe PessoaFisica não consigo fazer o mapeamento, já fiz as alterações dentro do arquivo PessoaFisica.hbm.xml e Endereco.hbm.xml. Ele me dá o erro:
[color=red]15:03:53,570 ERROR SchemaExport:387 - Error creating schema
org.hibernate.MappingException: Could not read mappings from resource: Endereco.hbm.xml
Caused by: org.hibernate.MappingException: class br.com.decisaoinformatica.pessoa.endereco.Endereco not found while looking for property: id[/color][color=#444444]
Alguém tem alguma noção do que pode ser?[/color]

A classe PessoaFisica está em: br.com.decisaoinformatica.pessoa
Os arquivos hbm estão dentro de uma pasta separada.

Grato
Régis

4 Respostas

Guilherme_Moreira

Passe o código pra nós darmos uma olhada!

R
//Classe PessoaFisica
package br.com.decisaoinformatica.pessoa;
import br.com.decisaoinformatica.pessoa.endereco.Endereco;

public class PessoaFisica implements BaseComponentePessoa {
    private Integer id = 0;
    private String nome;
    private Set<Endereco> enderecos = new HashSet<Endereco>();
}
//Classe Endereço
package br.com.decisaoinformatica.pessoa.endereco;

public class Endereco implements BaseComponentePessoa {
    private Integer id=0;
    private String logradouro;
}
<!-- Mapeamento de Endereço -->
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping 
    PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="br.com.decisaoinformatica.pessoa.endereco">
    <class name="Endereco" table="endereco">
        <id name="id">
            <column name="id" />
            <generator class="increment" />
        </id>
        <property name="logradouro" type="string">
            <column name="logradouro" length="40" not-null="true"></column>
        </property>
    </class>
</hibernate-mapping>
<!-- Mapeamento de PessoaFisica -->
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping 
    PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="br.com.decisaoinformatica.pessoa">
    <class name="PessoaFisica" table="pessoaFisica">
        <id name="id">
            <column name="id" />
            <generator class="increment" />
        </id>
        <property name="nome" type="string">
            <column name="nome" length="60" not-null="true"></column>
        </property>
	<set name="enderecos" inverse="false" cascade="all">
            <key column="idPessoaFisica"/>
            <one-to-many class="Endereco" />
	</set>
    </class>
</hibernate-mapping>

Nas classes tem os get e set respectivos para cada atribudo.

Régis
Grato

plentz

Régis, editei teu post para deixar visualmente mais agradável. Na próxima vez utilize as tags “code” que tem na barra de ferramentas :wink:

R

diego_sl bom dia, muito obrigado por ter feito o ajuste necessário no texto… da próxima vez terei cuidado com esta parte… :smiley:

Criado 27 de junho de 2006
Ultima resposta 28 de jun. de 2006
Respostas 4
Participantes 3