não consigo usar hibernate no eclipse

1 resposta
F
Galera que manja de JAVA mais do que eu… faz três longos dias que to tentando usar o hibernate no eclipse, já li muuuuuito material disponivel na net mas nada… já fiz boa parte (coloquei o plugin no eclipse, já setei o classpath no eclipse com os jars do hibernate, criei os arquivos .hbm.xml e cfg.xml)…MAS NA HORA DE RODAR A APLICAÇÃO DÁ O SEGUINTE ERRO NO CONSOLE DO ECLIPSE:

Exception in thread “AWT-EventQueue-0” java.lang.ExceptionInInitializerError

at org.hibernate.cfg.Configuration.reset(Configuration.java:168 )

at org.hibernate.cfg.Configuration.<init>(Configuration.java:187)

at org.hibernate.cfg.Configuration.<init>(Configuration.java:191)

at persistencia.SaudeFactory.<clinit>(SaudeFactory.java:13)

at visao.Login$3.run(Login.java:206)

at java.awt.event.InvocationEvent.dispatch(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

Caused by: java.lang.NullPointerException

at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:144)

at org.hibernate.cfg.Environment.<clinit>(Environment.java:515)

… 13 more

PEGUEI UM EXEMPLO PRONTO DE UMA APLICAÇÃO QUE USA HIBERNATE E TÁ DANDO O MESMO ERRO NA HORA DE EXECUTAR.

[color=“red”]OBS: ESSE nullPointerException ocorre quando tento instanciar o objecto da classe Configuration() do Hibernate. Ex.:

Configuracao config = new Configuracao();[/color]
Se alguém souber o que está acontencendo e puder me dar uma força ficaria grato!

1 Resposta

C

Tipo algumas dicas:

  • Na pagina do Hibernate tem umas “receitas de bolo” para configurar e como usar o mesmo;
    *Configure o Log4j que vem com o Hibernate para fazer um log dos erros, pq senao nem Deus descobre de onde eles estao sendo gerados.

De modo geral va na pagina do hibernate e boa, la explica como montar os arquivos de configuraçao e os arquivos de mapeamento de classes.
//exemplo de como montar uma conf.

public class HibernateUtil &#123;

    private static Log log = LogFactory.getLog&#40;HibernateUtil.class&#41;;
    private static final SessionFactory sessionFactory;

    static &#123;
        try &#123;
            // Create the SessionFactory                
            sessionFactory = new Configuration&#40;&#41;.configure&#40;&#41;.buildSessionFactory&#40;&#41;;
           
        &#125; catch &#40;Throwable ex&#41; &#123;
            
            log.error&#40;"Initial SessionFactory creation failed.", ex&#41;;
            throw new ExceptionInInitializerError&#40;ex&#41;;
            
        &#125; // end of the try - catch block
        
    &#125; // end of static block

    public static final ThreadLocal session = new ThreadLocal&#40;&#41;;

    public static Session currentSession&#40;&#41; throws HibernateException &#123;
        
        Session s = &#40;Session&#41; session.get&#40;&#41;;
        
        // Open a new Session, if this Thread has none yet
        if &#40;s == null&#41; &#123;
            s = sessionFactory.openSession&#40;&#41;;
            session.set&#40;s&#41;;
        &#125;
        return s;
    &#125;

    public static void closeSession&#40;&#41; throws HibernateException &#123;
        Session s = &#40;Session&#41; session.get&#40;&#41;;
        session.set&#40;null&#41;;
        if &#40;s != null&#41;
            s.close&#40;&#41;;
    &#125; // end of the method

&#125; // end of the class

//exemplo do Arquivo de configuraçao do banco de dados

&lt;!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http&#58;//hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"&gt;
&lt;hibernate-configuration&gt;
	&lt;session-factory&gt;
		&lt;property name="hibernate.connection.driver_class"&gt;
			org.apache.derby.jdbc.ClientDriver
		&lt;/property&gt;
		&lt;property name="hibernate.connection.url"&gt;
			jdbc&#58;derby&#58;//localhost&#58;1527/D&#58;/tempEclipse/bancos/HerancaJPA;create=true
		&lt;/property&gt;
		&lt;property name="hibernate.connection.username"&gt;
			utfpr
		&lt;/property&gt;
		&lt;property name="hibernate.connection.password"&gt;
			utfpr
		&lt;/property&gt;
		&lt;property name="hibernate.dialect"&gt;
			org.hibernate.dialect.DerbyDialect
		&lt;/property&gt;
		&lt;property name="hibernate.hbm2ddl.auto"&gt;
			create
		&lt;/property&gt;
		&lt;property name="show_sql"&gt;true&lt;/property&gt;
		&lt;property name="format_sql"&gt;true&lt;/property&gt;
		&lt;property name="use_sql_comments"&gt;false&lt;/property&gt;
		
		&lt;!-- TABLE_PER_CLASS --&gt;
		&lt;mapping class="pojo.Carga"/&gt;
		&lt;mapping class="pojo.Pessoas"/&gt;
		&lt;mapping class="pojo.Militar"/&gt;
		&lt;mapping class="pojo.Passageiro"/&gt; 
		
		&lt;!-- JOINED
		&lt;mapping class="pojo.Pessoa"/&gt;
		&lt;mapping class="pojo.Fisica"/&gt;  
		&lt;mapping class="pojo.Juridica"/&gt; 
		--&gt;
		
		&lt;!-- SINGLE_TABLE 
		&lt;mapping class="pojo.Pessoa"/&gt;
		&lt;mapping class="pojo.Fisica"/&gt;  
		&lt;mapping class="pojo.Juridica"/&gt; 
		--&gt;
		
	&lt;/session-factory&gt;
&lt;/hibernate-configuration&gt;

Espero ter ajudado. Vlw

Criado 21 de agosto de 2007
Ultima resposta 21 de ago. de 2007
Respostas 1
Participantes 2