Erro com hibernate

5 respostas
D

org.hibernate.MappingException: entity class not found: hibernate.TelefoneContatos at org.hibernate.mapping.PersistentClass.getMappedClass(PersistentClass.java:99) at org.hibernate.tuple.PropertyFactory.getGetter(PropertyFactory.java:168) at org.hibernate.tuple.PropertyFactory.buildIdentifierProperty(PropertyFactory.java:44) at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:118) at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:425) at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109) at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55) at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1218) at jdo.Sessao.<clinit>(Sessao.java:35) at jdo.Gerencia.inclui(Gerencia.java:72) at jdo.Usuario.main(Usuario.java:197) Caused by: java.lang.ClassNotFoundException: hibernate.TelefoneContatos at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:164) at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:100) at org.hibernate.mapping.PersistentClass.getMappedClass(PersistentClass.java:96) ... 11 more
por favor alguém sabe pq isso?
o nome inclusive com o caminho estão corretos pois eu ja mudei umas 30 vzs e sempre da o mesmo erro com aquele nome q eu coloquei!
alguma idéia?? sugestão?? qualquer coisa!! Obrigado

5 Respostas

P

vc esta fazendo o mapeamento via hbm.xml??? se sim, posta o arquivo aih pra gente…se for via annotations ou xdoclet…pista tb, hehehehehe…

senão a gente nao consegue ajudar…flw

D
<?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>
<!-- 
    Created by the Middlegen Hibernate plugin 2.1

    http://boss.bekk.no/boss/middlegen/
    http://www.hibernate.org/
-->

<class 
    name="hibernate.TelefoneContatos" 
    table="telefone_contato"
>
    <meta attribute="class-description" inherit="false">
       @hibernate.class
        table="telefone_contato"
    </meta>

    <composite-id name="comp_id" class="hibernate.TelefoneContatoPk">
        <meta attribute="field-description" inherit="false">
           @hibernate.id
            generator-class="assigned"
        </meta>
        <key-property 
            name="codigoContato" 
            column="codigo_contato" 
            type="java.lang.Integer"
            length="4"
        >
            <meta attribute="field-description">
               @hibernate.property
                column="codigo_contato"
            </meta> 
        </key-property>
        <key-property 
            name="codigoTelefone" 
            column="codigo_telefone" 
            type="java.lang.Integer"
            length="4"
        >
            <meta attribute="field-description">
               @hibernate.property
                column="codigo_telefone"
            </meta> 
        </key-property>
    </composite-id>    

    <property
        name="ddd"
        type="java.lang.String"
        column="ddd"
        length="5"
    >
        <meta attribute="field-description">
           @hibernate.property
            column="ddd"
            length="5"
        </meta>    
    </property>
    <property
        name="numero"
        type="java.lang.String"
        column="numero"
        length="30"
    >
        <meta attribute="field-description">
           @hibernate.property
            column="numero"
            length="30"
        </meta>    
    </property>
    <property
        name="observacao"
        type="java.lang.String"
        column="observacao"
        length="-1"
    >
        <meta attribute="field-description">
           @hibernate.property
            column="observacao"
            length="-1"
        </meta>    
    </property>

    <!-- Associations -->
    <!-- derived association(s) for compound key -->
    <!-- bi-directional many-to-one association to Contato -->
    <many-to-one
        name="contato"
	    class="hibernate.Contatos"
	    update="false"
	    insert="false"
	>
        <meta attribute="field-description">
           @hibernate.many-to-one
            update="false"
            insert="false"
        </meta>
        <meta attribute="field-description">
           @hibernate.column
            name="codigo_contato"
        </meta>
    	<column name="codigo_contato" />
	</many-to-one>
	
    <!-- end of derived association(s) -->
  
    <!-- bi-directional many-to-one association to TipoTelefone -->
    <many-to-one
        name="tipoTelefone"
        class="hibernate.TipoTelefone"
        not-null="true"
    >
        <meta attribute="field-description">
           @hibernate.many-to-one
            not-null="true"
           @hibernate.column name="codigo_tipo_telefone"         
        </meta>
        <column name="codigo_tipo_telefone" />
    </many-to-one>

</class>
</hibernate-mapping>
só pra esclarecer meus codigos fontes estão dentro da pasta jdo e os .hbm.xml dentro da pasta hibernate [/quote]
P

se as suas classes estão no pacote jdo seu mapeamento esta errado…

onde tem
hibernate.TelefoneContatos

tu deve mudar para

jdo.TelefoneContatos

isso se o pacote jdo estiver na raiz das suas package…vc tem q por o caminho completo da classe…para facilitar, dentro da sua classe, na primeira linha dela, tem o caminho completo da package q ela se encontra…

flw

D
blz, era isso mesmo! mas agora to com outro erro q é o seguinte
org.hibernate.PropertyNotFoundException: Could not find a getter for comp_id in class jdo.Telefones
        at org.hibernate.property.BasicPropertyAccessor.createGetter(BasicPropertyAccessor.java:282)
        at org.hibernate.property.BasicPropertyAccessor.getGetter(BasicPropertyAccessor.java:275)
        at org.hibernate.tuple.PropertyFactory.getGetter(PropertyFactory.java:168)
        at org.hibernate.tuple.PropertyFactory.buildIdentifierProperty(PropertyFactory.java:44)
        at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:118)
        at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:425)
        at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109)
        at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
        at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1218)
mas na minha classe jdo.Telefones eu tenho setCompId e getCompId e o meu mapeamento da classe telefones é o seguinte
<hibernate-mapping>
<!-- 
    Created by the Middlegen Hibernate plugin 2.1

    http://boss.bekk.no/boss/middlegen/
    http://www.hibernate.org/
-->

<class 
    name="jdo.Telefones" 
    table="telefones"
>
    <meta attribute="class-description" inherit="false">
       @jdoclass
        table="telefones"
    </meta>

    <composite-id name="comp_id" class="hibernate.TelefonePk">
        <meta attribute="field-description" inherit="false">
           @hibernate.id
            generator-class="assigned"
        </meta>
        <key-property 
            name="codigoLigacao" 
            column="codigo_ligacao" 
            type="java.lang.Integer"
            length="4"
        >
            <meta attribute="field-description">
               @hibernate.property
                column="codigo_ligacao"
            </meta> 
        </key-property>
        <key-property 
            name="codigoTelefone" 
            column="codigo_telefone" 
            type="java.lang.Integer"
            length="4"
        >
            <meta attribute="field-description">
               @hibernate.property
                column="codigo_telefone"
            </meta> 
        </key-property>
    </composite-id>    

    <property
        name="ddd"
        type="java.lang.String"
        column="ddd"
        length="5"
    >
        <meta attribute="field-description">
           @hibernate.property
            column="ddd"
            length="5"
        </meta>    
    </property>
    <property
        name="numero"
        type="java.lang.String"
        column="numero"
        length="30"
    >
        <meta attribute="field-description">
           @hibernate.property
            column="numero"
            length="30"
        </meta>    
    </property>
    <property
        name="observacao"
        type="java.lang.String"
        column="observacao"
        length="-1"
    >
        <meta attribute="field-description">
           @hibernate.property
            column="observacao"
            length="-1"
        </meta>   
    </property>

    <!-- Associations -->
    <!-- derived association(s) for compound key -->
    <!-- bi-directional many-to-one association to Ligacoe -->
    <many-to-one
        name="ligacoes"
	    class="jdo.Ligacoes"
	    update="false"
	    insert="false"
	>
        <meta attribute="field-description">
           @hibernate.many-to-one
            update="false"
            insert="false"
        </meta>
        <meta attribute="field-description">
           @hibernate.column
            name="codigo_ligacao"
        </meta>
    	<column name="codigo_ligacao" />
	</many-to-one>
	
    <!-- end of derived association(s) -->
  
    <!-- bi-directional many-to-one association to TipoTelefone -->
    <many-to-one
        name="tipoTelefone"
        class="jdo.TipoTelefone"
        not-null="true"
    >
        <meta attribute="field-description">
           @hibernate.many-to-one
            not-null="true"
           @hibernate.column name="codigo_tipo_telefone"         
        </meta>
        <column name="codigo_tipo_telefone" />
    </many-to-one>

</class>
</hibernate-mapping>
o erro esta na chave composta o q eu estou fazendo de errado?
D

achei o erro! tem q colocar exatamente como esta no mapeamento, claro!!!
eu fiz setCompId e getCompId, mas é setcomp_id e getcomp_id!
valeu!!!

Criado 8 de janeiro de 2007
Ultima resposta 9 de jan. de 2007
Respostas 5
Participantes 2