Erro no Hibernate

1 resposta
D

Estou com uma aplicação que esta inserindo no banco de dados ok sem o hibernate, mas preciso usar hibernate na persistência e tem algo errado no meu mapeamento do hibernate que preciso de uma ajuda para encontrar e corrigir o erro por favor.

Esta gerando essa exception

HTTP Status 500 - Servlet execution threw an exception

type Exception report

message Servlet execution threw an exception

description The server encountered an internal error (Servlet execution threw an exception) that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception

root cause

java.lang.ExceptionInInitializerError
	br.com.novaalianca.utils.HibernateUtils.<clinit>(HibernateUtils.java:23)
	br.com.novaalianca.dao.ClienteEmpresaDAO.adicionaClienteEmpresa(ClienteEmpresaDAO.java:190)
	br.com.novaalianca.web.controller.AdicionaClienteEmpresa.execute(AdicionaClienteEmpresa.java:26)
	org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
	org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
	org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

root cause

java.lang.NullPointerException
	org.hibernate.mapping.PersistentClass.getMappedClass(PersistentClass.java:87)
	org.hibernate.tuple.PropertyFactory.getGetter(PropertyFactory.java:148)
	org.hibernate.tuple.PropertyFactory.buildIdentifierProperty(PropertyFactory.java:41)
	org.hibernate.tuple.EntityMetamodel.<init>(EntityMetamodel.java:104)
	org.hibernate.persister.entity.BasicEntityPersister.<init>(BasicEntityPersister.java:398)
	org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:104)
	org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
	org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:199)
	org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1043)
	br.com.novaalianca.utils.HibernateUtils.<clinit>(HibernateUtils.java:19)
	br.com.novaalianca.dao.ClienteEmpresaDAO.adicionaClienteEmpresa(ClienteEmpresaDAO.java:190)
	br.com.novaalianca.web.controller.AdicionaClienteEmpresa.execute(AdicionaClienteEmpresa.java:26)
	org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
	org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
	org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.28 logs.
Apache Tomcat/7.0.28

Essa é minha hbm.xml:

<?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="br.com.novaalianca.bean.ClienteEmpresa" table="cliente_empresa"
		discriminator-value="0">
		<id column="id_cadastro_empresa" name="idCadastroEmpresa" type="java.lang.Long">
			<generator class="native" />
		</id>

		<property column="razao_social" name="razaoSocial" type="java.lang.String" />
		<property column="endereco" name="endereco" type="java.lang.String" />
		<property column="cnpj" name="cnpj" type="java.lang.Double" />
		<property column="incricaoEstadual" name="incricaoEstadual" type="java.lang.Double" />
		<property column="contato" name="contato" type="java.lang.String" />
		<!-- <subclass name="br.com.novaalianca.bean.ClienteEmpresa"
			discriminator-value="1" /> -->


	</class>
</hibernate-mapping>

Essa é a 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>
		
		<!--configuracao do banco postgreSQL  -->  
       <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>  
        <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>  
        <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/cadastro_empresa</property>  
        <property name="hibernate.connection.username">postgres</property>  
        <property name="hibernate.connecion.password">root</property>      
         
         
         

         
          
        <!-- configuracao do poll de conexao -->  
          
      <property name="hibernate.c3p0.max_size">10</property>  
      <property name="hibernate.c3p0.min_size">2</property>  
      <property name="hibernate.c3p0.timeout">5000</property>        
      <property name="hibernate.c3p0.max_statements">10</property>  
      <property name="hibernate.c3p0.idle_test_period">3000</property>  
      <property name="hibernate.c3p0.acquire_increment">2</property>          
  
        <property name="show_sql">false</property>  
        <property name="use_outer_join">true</property>  
        <property name="hibernate.generate_statistics">true</property>  
        <property name="hibernate.use_sql_comments">true</property>  
		
		<mapping resource="mappings/User.hbm.xml" />
        <mapping resource="mappings/Category.hbm.xml" />
        <mapping resource="mappings/Lead.hbm.xml" />
        <mapping resource="mappings/ClienteEmpresa.hbm.xml" />
		
	</session-factory>
</hibernate-configuration>

Já verifiquei todo o mapeamento e alguma coisa passou que não esotu conseguindo resolver…

1 Resposta

magnocosta

Olá Deivis,

Não sei se você conhece mas hoje existe um recurso muito interessante que é realizar esse tipo de mapeamento via anotações.
Muito mais simples de fazer.

Segue um ótimo tutorial para seguir:
http://uaihebert.com/?p=27

Espero que a dica tenha ajudado.

Abraçoos

Criado 3 de agosto de 2012
Ultima resposta 3 de ago. de 2012
Respostas 1
Participantes 2