Arquivo hibernate.cfg.xml [Resolvido]

Pessoal estou encontrando um problema e gostaria da ajuda de vocês.

Estou usando o hibernate annotation,
tenho este meu arquivo hibernate.cfg.xml:


<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE hibernate-configuration PUBLIC  
           "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
           "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
   
 <hibernate-configuration>  
     <session-factory>  
         <!-- Database connection settings -->
         <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
         <property name="hibernate.connection.url">jdbc:mysql://localhost/javafx_crud</property>
         <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
         <property name="hibernate.connection.username">user</property>  
         <property name="hibernate.connection.password">passw</property> 
         <!-- JDBC connection pool (use the built-in) -->  
         <property name="connection.pool_size">10</property>  
   
         <!-- SQL dialect -->  
         <property name="dialect">org.hibernate.dialect.MySQLDialect</property>  
   
         <!-- Echo all executed SQL to stdout -->  
         <property name="show_sql">true</property>  
   
         <!-- Mapping files -->  
         <mapping class="br.com.tal.taltal.controller.impl.CodigoSecaoControllerImpl"/>
      
     </session-factory>  
 </hibernate-configuration>  

quando eu rodo a minha aplicação acontece o seuginte erro:

Exception in thread “main” org.hibernate.MappingException: Unknown entity: br.com.tal.taltal.controller.impl.CodigoSecaoControllerImpl
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:580)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:91)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:905)
at org.hibernate.impl.SessionImpl.load(SessionImpl.java:822)
at org.hibernate.impl.SessionImpl.load(SessionImpl.java:815)
at br.com.tal.taltal.controller.impl.Teste.main(Teste.java:20)

pelo que eu entendi, a classe que eu procuro ( nesta linha: ) não está sendo encontrada correto?
mais pelo o que eu tenho visto aqui, o caminho que eu especifico está correto. Comparei este meu programa com outro que eu tenho e que está funcionando, e eles não apresentam diferenças.

Alguém sabe no que eu posso estar errando?

Avisando que eu ja olhei vários problemas parecidos que se encontram aqui no forum, mas mesmo assim não consegui solucionar meu problema.
Em outros tópicos falaram para trocar uma linha por esta import javax.persistence.Entity, maisn no meu caso isso ja foi feito.

[quote=dempbr]Pessoal estou encontrando um problema e gostaria da ajuda de vocês.

Estou usando o hibernate annotation,
tenho este meu arquivo hibernate.cfg.xml:


<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE hibernate-configuration PUBLIC  
           "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
           "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
   
 <hibernate-configuration>  
     <session-factory>  
         <!-- Database connection settings -->
         <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
         <property name="hibernate.connection.url">jdbc:mysql://localhost/javafx_crud</property>
         <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
         <property name="hibernate.connection.username">user</property>  
         <property name="hibernate.connection.password">passw</property> 
         <!-- JDBC connection pool (use the built-in) -->  
         <property name="connection.pool_size">10</property>  
   
         <!-- SQL dialect -->  
         <property name="dialect">org.hibernate.dialect.MySQLDialect</property>  
   
         <!-- Echo all executed SQL to stdout -->  
         <property name="show_sql">true</property>  
   
         <!-- Mapping files -->  
         <mapping class="br.com.tal.taltal.controller.impl.CodigoSecaoControllerImpl"/>
      
     </session-factory>  
 </hibernate-configuration>  

quando eu rodo a minha aplicação acontece o seuginte erro:

Exception in thread “main” org.hibernate.MappingException: Unknown entity: br.com.tal.taltal.controller.impl.CodigoSecaoControllerImpl
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:580)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:91)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:905)
at org.hibernate.impl.SessionImpl.load(SessionImpl.java:822)
at org.hibernate.impl.SessionImpl.load(SessionImpl.java:815)
at br.com.tal.taltal.controller.impl.Teste.main(Teste.java:20)

pelo que eu entendi, a classe que eu procuro ( nesta linha: ) não está sendo encontrada correto?
mais pelo o que eu tenho visto aqui, o caminho que eu especifico está correto. Comparei este meu programa com outro que eu tenho e que está funcionando, e eles não apresentam diferenças.

Alguém sabe no que eu posso estar errando?

Avisando que eu ja olhei vários problemas parecidos que se encontram aqui no forum, mas mesmo assim não consegui solucionar meu problema.
Em outros tópicos falaram para trocar uma linha por esta import javax.persistence.Entity, maisn no meu caso isso ja foi feito.[/quote]

errado!!! esse erro quer dizer que essa sua classe não é uma classe Entity… no seu caso… nmão é uma classe que tem o annotation @Entity

vc gerou esse codigo automaticamente??? o .cfg tem de apontar para a classe Entity no caso o Bean nao para a classe de Impl q é responsavel pelo controle no banco.,…

[quote=Requena][quote=dempbr]Pessoal estou encontrando um problema e gostaria da ajuda de vocês.

Estou usando o hibernate annotation,
tenho este meu arquivo hibernate.cfg.xml:


<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE hibernate-configuration PUBLIC  
           "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
           "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
   
 <hibernate-configuration>  
     <session-factory>  
         <!-- Database connection settings -->
         <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
         <property name="hibernate.connection.url">jdbc:mysql://localhost/javafx_crud</property>
         <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
         <property name="hibernate.connection.username">user</property>  
         <property name="hibernate.connection.password">passw</property> 
         <!-- JDBC connection pool (use the built-in) -->  
         <property name="connection.pool_size">10</property>  
   
         <!-- SQL dialect -->  
         <property name="dialect">org.hibernate.dialect.MySQLDialect</property>  
   
         <!-- Echo all executed SQL to stdout -->  
         <property name="show_sql">true</property>  
   
         <!-- Mapping files -->  
         <mapping class="br.com.tal.taltal.controller.impl.CodigoSecaoControllerImpl"/>
      
     </session-factory>  
 </hibernate-configuration>  

quando eu rodo a minha aplicação acontece o seuginte erro:

Exception in thread “main” org.hibernate.MappingException: Unknown entity: br.com.tal.taltal.controller.impl.CodigoSecaoControllerImpl
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:580)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:91)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:905)
at org.hibernate.impl.SessionImpl.load(SessionImpl.java:822)
at org.hibernate.impl.SessionImpl.load(SessionImpl.java:815)
at br.com.tal.taltal.controller.impl.Teste.main(Teste.java:20)

pelo que eu entendi, a classe que eu procuro ( nesta linha: ) não está sendo encontrada correto?
mais pelo o que eu tenho visto aqui, o caminho que eu especifico está correto. Comparei este meu programa com outro que eu tenho e que está funcionando, e eles não apresentam diferenças.

Alguém sabe no que eu posso estar errando?

Avisando que eu ja olhei vários problemas parecidos que se encontram aqui no forum, mas mesmo assim não consegui solucionar meu problema.
Em outros tópicos falaram para trocar uma linha por esta import javax.persistence.Entity, maisn no meu caso isso ja foi feito.[/quote]

errado!!! esse erro quer dizer que essa sua classe não é uma classe Entity… no seu caso… nmão é uma classe que tem o annotation @Entity

vc gerou esse codigo automaticamente??? o .cfg tem de apontar para a classe Entity no caso o Bean nao para a classe de Impl q é responsavel pelo controle no banco.,…[/quote]

Cara você tem toda razão…
No caso as minhas classes mapeadas são as seguintes:

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE hibernate-configuration PUBLIC  
           "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
           "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
   
 <hibernate-configuration>  
     <session-factory>  
         <!-- Database connection settings -->
         <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
         <property name="hibernate.connection.url">jdbc:mysql://localhost/javafx_crud</property>
         <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
         <property name="hibernate.connection.username">user</property>  
         <property name="hibernate.connection.password">passw</property> 
         <!-- JDBC connection pool (use the built-in) -->  
         <property name="connection.pool_size">10</property>  
   
         <!-- SQL dialect -->  
         <property name="dialect">org.hibernate.dialect.MySQLDialect</property>  
   
         <!-- Echo all executed SQL to stdout -->  
         <property name="show_sql">true</property>  
   
         <!-- Mapping files -->  
         <mapping class="br.com.tal.taltal.dao.entity.CodigoSecao"/>
         <mapping class="br.com.tal.taltal.dao.entity.Funcionario"/>
         <mapping class="br.com.tal.taltal.dao.entity.Grupo"/>
         <mapping class="br.com.tal.taltal.dao.entity.GrupoCodigoSecao"/>
         <mapping class="br.com.tal.taltal.dao.entity.GrupoProdutoCodigoSecao"/>
         <mapping class="br.com.tal.taltal.dao.entity.Produto"/>
      
     </session-factory>  
 </hibernate-configuration>  

Bom, isso eu ja havia percebido e arrumado, mais não cheguei a comentar aqui pois foi no final do meu horario de trabalho.
Só que achei algo de estranho. Quando executo o programa com esses mapeamentos, acontece o seguinte erro:

Exception in thread “main” org.hibernate.MappingException: Unknown entity: br.com.tal.taltal.controller.impl.CodigoSecaoControllerImpl
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:580)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:91)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:905)
at org.hibernate.impl.SessionImpl.load(SessionImpl.java:822)
at org.hibernate.impl.SessionImpl.load(SessionImpl.java:815)
at br.com.tal.taltal.controller.impl.Teste.main(Teste.java:20)

Muito estranho não?
Pois se eu estava mapeando as classes erradas, porque depois de arrumado ele continua dando o mesmo erro?

opções que eu posso ti dar nesse caso…
tem algum outro mapeamento perdido no projeto??? talvez ele ainde esteja pegando o outro mapeamento…

outro… que IDE vc ta trabalhando??? de um clear e depois um redeploy… se continuar cagado… vai no .jar que a IDE criou abre com o winrar vai até o arquivo de configuração do hibernate abre ele em um bloco de notas e olha se é igual esse ai ou se ta igual o anterior… se tiver igual ao anterior da clear e redeploy denovo :D… tendeu???

meu palpite é que sua IDE nao lançou o novo .cfg no .jar… ainda ta com o antigo…

Fala Requena,

cara queria agradecer a força que você deu.
O problema foi resolvido, por isso colocarei isso no titulo do tópico.

Como você havia falado, eu estava mapeando as classes erradas.
Depois disso, o outro erro que estava ocorrendo não era de um mapeamento perdido como você chegou a falou, era algo muito simples. Foi um erro de atenção meu que estava chamando uma classe (no qual não era pra ser chamada, fiz burrada ali mesmo) que ao chamar essa classe, era verificado se ela era mapeada. Por isso que sempre acusava de não encontrar a classe…rsrsrs
Nada que, depois de parar de tentar achar o erro, conseguir esfriar a cabeça e olhar com calma o código não resolvesse…rsrsrss

vlw

Tranquilo…

Tamo ai pra isso…

Abraços…