Olá bom dia, estou iniciando com o uso do hibernate, fiz toda a configuração… Porem ao tentar executar… é gerado um erro da JVM - “Fatal exception ocorred” e me mostra o log Java.lang.NullPointerException…
Obrigado! 
Olá bom dia, estou iniciando com o uso do hibernate, fiz toda a configuração… Porem ao tentar executar… é gerado um erro da JVM - “Fatal exception ocorred” e me mostra o log Java.lang.NullPointerException…
Obrigado! 
O q exatamente vc tentou executar?
Esse tipo de execeção é muito genérica, vc poderia colocar o stacktrace?
… estou tentando utilizar o hibernate na minha aplicação…porem esta ocorrendo erros. Fiz toda a configuração, porem qdo mando executar e chega na parte do schemas gera um erro (java.lang.NullPointerException), onde me exibe um erro da jvm (Fatal Exception)… se puder me ajudar ou mesmo somente me indicar por onde seguir eu agradeço!
Obrigado!
Erro:
java.lang.NullPointerException
at net.sf.hibernate.tool.hbm2ddl.SchemaExport.(SchemaExport.java:4
Mostre o stacktrace completo do seu erro… 
log4j: Parsing for [root] with value=[INFO, A1].
log4j: Level token is [INFO].
log4j: Category root set to INFO
log4j: Parsing appender named “A1”.
log4j: Parsing layout options for “A1”.
log4j: Setting property [conversionPattern] to [%d [%t] %-5p %c - %m%n].
log4j: End of parsing for “A1”.
log4j: Parsed “A1” options.
log4j: Parsing for [br.com.evoluti] with value=[DEBUG].
log4j: Level token is [DEBUG].
log4j: Category br.com.evoluti set to DEBUG
log4j: Handling log4j.additivity.br.com.evoluti=[null]
log4j: Parsing for [net.sf] with value=[DEBUG].
log4j: Level token is [DEBUG].
log4j: Category net.sf set to DEBUG
log4j: Handling log4j.additivity.net.sf=[null]
log4j: Finished configuring.
2005-06-02 15:29:53,445 [main] INFO br.com.evoluti.solicit.cadastro.SessionFactory - Iniciando configuração
2005-06-02 15:29:53,507 [main] INFO net.sf.hibernate.cfg.Environment - Hibernate 2.1.8
2005-06-02 15:29:53,507 [main] INFO net.sf.hibernate.cfg.Environment - hibernate.properties not found
2005-06-02 15:29:53,539 [main] INFO net.sf.hibernate.cfg.Environment - using CGLIB reflection optimizer
2005-06-02 15:29:53,554 [main] INFO net.sf.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
2005-06-02 15:29:53,570 [main] INFO net.sf.hibernate.cfg.Configuration - configuring from url: file:/C:/Documents%20and%20Settings/pmiranda/Meus%20documentos/work/java/projetos/solicit/src/main/web/WEB-INF/classes/hibernate.cfg.xml
2005-06-02 15:29:53,773 [main] DEBUG net.sf.hibernate.util.DTDEntityResolver - trying to locate <a href="http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd</a> in classpath under net/sf/hibernate/
2005-06-02 15:29:53,773 [main] DEBUG net.sf.hibernate.util.DTDEntityResolver - <a href="http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtdnot">http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtdnot</a> found in classpath
2005-06-02 15:30:15,773 [main] ERROR net.sf.hibernate.util.XMLHelper - Error parsing XML: file:/C:/Documents%20and%20Settings/pmiranda/Meus%20documentos/work/java/projetos/solicit/src/main/web/WEB-INF/classes/hibernate.cfg.xml(3) External entity not found: “<a href="http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd</a>”.
2005-06-02 15:30:15,773 [main] ERROR net.sf.hibernate.cfg.Configuration - problem parsing configurationfile:/C:/Documents%20and%20Settings/pmiranda/Meus%20documentos/work/java/projetos/solicit/src/main/web/WEB-INF/classes/hibernate.cfg.xml
org.dom4j.DocumentException: Error on line 3 of document : External entity not found: “<a href="http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd</a>”. Nested exception: External entity not found: “<a href="http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd</a>”.
at org.dom4j.io.SAXReader.read(SAXReader.java:355)
at net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:967)
at net.sf.hibernate.cfg.Configuration.configure(Configuration.java:926)
at br.com.evoluti.solicit.cadastro.SessionFactory.getSessionFactory(SessionFactory.java:50)
at br.com.evoluti.solicit.cadastro.SessionFactory.getConfiguration(SessionFactory.java:75)
at br.com.evoluti.solicit.cadastro.SessionFactory.exportSchema(SessionFactory.java:41)
at br.com.evoluti.solicit.cadastro.SessionFactory.main(SessionFactory.java:82)
Nested exception:
java.net.ConnectException: Connection timed out: connect
at org.apache.crimson.parser.Parser2.fatal(Unknown Source)
at org.apache.crimson.parser.Parser2.externalParameterEntity(Unknown Source)
at org.apache.crimson.parser.Parser2.maybeDoctypeDecl(Unknown Source)
at org.apache.crimson.parser.Parser2.parseInternal(Unknown Source)
at org.apache.crimson.parser.Parser2.parse(Unknown Source)
at org.apache.crimson.parser.XMLReaderImpl.parse(Unknown Source)
at org.dom4j.io.SAXReader.read(SAXReader.java:339)
at net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:967)
at net.sf.hibernate.cfg.Configuration.configure(Configuration.java:926)
at br.com.evoluti.solicit.cadastro.SessionFactory.getSessionFactory(SessionFactory.java:50)
at br.com.evoluti.solicit.cadastro.SessionFactory.getConfiguration(SessionFactory.java:75)
at br.com.evoluti.solicit.cadastro.SessionFactory.exportSchema(SessionFactory.java:41)
at br.com.evoluti.solicit.cadastro.SessionFactory.main(SessionFactory.java:82)
2005-06-02 15:30:15,789 [main] ERROR br.com.evoluti.solicit.cadastro.SessionFactory - net.sf.hibernate.HibernateException: problem parsing configurationfile:/C:/Documents%20and%20Settings/pmiranda/Meus%20documentos/work/java/projetos/solicit/src/main/web/WEB-INF/classes/hibernate.cfg.xml
java.lang.NullPointerException
at net.sf.hibernate.tool.hbm2ddl.SchemaExport.(SchemaExport.java:48)
at br.com.evoluti.solicit.cadastro.SessionFactory.exportSchema(SessionFactory.java:41)
at br.com.evoluti.solicit.cadastro.SessionFactory.main(SessionFactory.java:82)
Exception in thread “main”
Você tá conectado na internet ou tem algum firewall barrando a conexão?
Mauricio tem sim um firewall que barra a conexao…Já tinha ouvido algo nesse sentido tambem!
Vc tem alguma solução pra driblar isso…?
Você pode definir essa DTD pra ficar local, colocando em vez do public no documento de mapeamento, o caminho físico dela no PC. O problema é que você vai ter que saber onde o seu container vai procurar.
Outra chance é não mexer nas declarações e colocar essa DTD de configuração e a de mapeamento no classpath, talvez funcione, testa aí!
Mauricio essa segunda opção que vc me deu… acho que ja tentei realiza-la… copiando o documento direto no diretorio de onde vai ser lido… mas nao deu certo nao…
Ja a da primeira opção ainda nao tentei, to começando a usar o hibernate… onde é que eu defino essas declarações de que fala é no proprio documento (hibernate-configuration-3.0.dtd)?
Nops, é no arquivo de configuração, onde tem lá em cima “PUBLIC http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd”.
Se eu não me engano você troca PUBLIC por LOCAL e coloca o caminho lá.
Mauricio … fiz o que vc indicou porem ainda acusa que nao esta encontrando o documento… qual o local que geralmente fica esse documento? talvez eu esteja jogando no lugar errado…
Esse é o problema, você tem que ver os logs e dar uma olhada onde o seu container está procurando pra botar lá.
Cara meu log esta assim: Se puder me dizer onde mudar ou acrescentar eu agradeço…
#for debugging log4j itself
log4j.debug=true
#Logger-Priorities:
#DEBUG lowest, prints all messages
#INFO prints all messages with FATAL, ERROR, WARN or INFO priority
#WARN prints all messages with FATAL, ERROR or WARN priority
#ERROR prints all messages with FATAL or ERROR priority
#FATAL highest, prints only FATAL messages
log4j.rootLogger=INFO, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.logger.br.com.evoluti=DEBUG
log4j.logger.net.sf=DEBUG
e a configuração do documento .dtd esta assim:
<!-- Hibernate file-based configuration document.<!DOCTYPE hibernate-configuration PUBLIC
“-//Hibernate/Hibernate Configuration DTD 3.0//EN”
“http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd”>
Alguem teria uma indicaçao?
Lá no topo do seu arquivo de fonfiguração tem isso:
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!DOCTYPE hibernate-configuration LOCAL
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"C:\CaminhoParaSuaDtd\hibernate-configuration-3.0.dtd">
Aí você vê o log do tomcat pra ver o que é que ele tá dando.
O meu arquivo do Log4J está assim (eu uso o MyEclipse pra startar o Tomcat):
log4j.rootLogger=DEBUG, dest1
log4j.appender.dest1=org.apache.log4j.ConsoleAppender
log4j.appender.dest1.layout=org.apache.log4j.PatternLayout
log4j.appender.dest1.layout.ConversionPattern=%d %-5p %-5c{3} %x -> %m%n
Outra coisa, não sei de onde você tirou isso aqui:
<!DOCTYPE HTML LOCAL "-//C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\src\main\java">
<!-- saved from url=(0064)http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd -->
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="MSHTML 6.00.2800.1498" name=GENERATOR></HEAD>
<BODY><PRE><!-- Hibernate file-based configuration document.
Mas tá me parecendo meio estranho pra ser um arquivo de configuração.
Mauricio, boa tarde… q bom q voltou a me ajudar!rs
Bem, aquele ultimo codigo lá realmente estava errado mesmo… foi uma tentativa…Mas tb ja fiz como vc me indica no (Code1) porem meu arquivo de configuraçao esta diferente uso SQLSever
#for debugging log4j itself
log4j.debug=true
#Logger-Priorities:
#DEBUG lowest, prints all messages
#INFO prints all messages with FATAL, ERROR, WARN or INFO priority
#WARN prints all messages with FATAL, ERROR or WARN priority
#ERROR prints all messages with FATAL or ERROR priority
#FATAL highest, prints only FATAL messages
# root logger
log4j.rootLogger=INFO, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
# myfaces logger
log4j.logger.br.com.evoluti=DEBUG
log4j.logger.net.sf=DEBUG
Se estiver muito errado não liga não…rs peguei esse exemplo de outra pessoa…rs Blz!
Assim ele mostra tudo:
Mauricio, boa tarde… q bom q voltou a me ajudar!rsBem, aquele ultimo codigo lá realmente estava errado mesmo… foi uma tentativa…Mas tb ja fiz como vc me indica no (Code1) porem meu arquivo de configuraçao esta diferente uso SQLSever
# root logger log4j.rootLogger=DEBUG, A1 log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
Ele ainda tá dando erro aí?
A quem interessar. O problema que estava acontecendo ao meu ver é que o eclipse buscava no plugin do hibernate 2.1.3.jar o arquivo hibernate-configuration.3.0.dtd so que ele nao encontrava la continha somente o 2.0, entao eu adcicionei o hibernate-configuration.3.0.dtd e o hibernate-mapping.3.0 ao hibernate 2.1.3.jar e ficou resolvido esse erro… 