Oi pessoal, boa tarde.
Estou com um problema aqui para efetuar uma conexão com um banco de dados Firebird. Acho que estou fazendo alguma coisa errada no meu arquivo hibernate.cfg.xml. Acho que alguma configuração está errada. Ficaria extremamente grato se alguém pudesse me ajudar. Abaixo segue o código deste arquivo.
[code]<?xml version="1.0" encoding="UTF-8"?>
org.firebirdsql.jdbc.FBDriver <!-- A URL de conexão ao banco de dados -->
<property name="hibernate.connection.url">jdbc:firebirdsql:localhost/3050:C:/André/SQL/Concessionaria.fdb</property>
<!-- Nome do usuario -->
<property name="hibernate.connection.username">sysdba</property>
<!-- Senha do usuário -->
<property name="hibernate.connection.password">masterkey</property>
<!-- O dialeto usado pelo Hibernate para conversar com o banco -->
<property name="hibernate.dialect">org.hibernate.dialect.FirebirdDialect</property>
<!-- O arquivo que mapeia a tabela e o Bean Livros -->
<mapping class="pacote.dadosentidades.Carros"/>
</session-factory>
[/code]
O erro que acontece quando executa é o seguinte:
javax.servlet.ServletException: #{carrosView.create}: java.lang.ExceptionInInitializerError
javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
Na minha classe que faz a conexão, a execução não consegue passar pelo try e cai na Exception. Abaixo segue a minha classe para as conexões, ConnectionConcessionariaFactory:
[code]package pacote.util;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class ConnectionConcessionariaFactory {
private static final SessionFactory sessionFactory;
private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
static{
try{
sessionFactory = new AnnotationConfiguration().configure("hibernate.cfg.xml").buildSessionFactory();
} catch(Throwable t){
throw new ExceptionInInitializerError(t);
}
}
public static Session getInstance(){
Session session = (Session)threadLocal.get();
session = sessionFactory.openSession();
threadLocal.set(session);
return session;
}
}
Abaixo segue o código da minha classe de conexão, reparei que durante a execução, ela não consegue passar pelo try, entra no catch e fica na exceção.
package pacote.util;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class ConnectionConcessionariaFactory {
private static final SessionFactory sessionFactory;
private static final ThreadLocal threadLocal = new ThreadLocal();
static{
try{
sessionFactory = new AnnotationConfiguration().configure(“hibernate.cfg.xml”).buildSessionFactory();
} catch(Throwable t){
throw new ExceptionInInitializerError(t);
}
}
public static Session getInstance(){
Session session = (Session)threadLocal.get();
session = sessionFactory.openSession();
threadLocal.set(session);
return session;
}
}
Agora segue o que aparece no erro:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: #{carrosView.create}: java.lang.ExceptionInInitializerError
javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
root cause
javax.faces.FacesException: #{carrosView.create}: java.lang.ExceptionInInitializerError
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:11
javax.faces.component.UICommand.broadcast(UICommand.java:387)
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:11
javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
root cause
javax.faces.el.EvaluationException: java.lang.ExceptionInInitializerError
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
javax.faces.component.UICommand.broadcast(UICommand.java:387)
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:11
javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
root cause
java.lang.ExceptionInInitializerError
pacote.util.ConnectionConcessionariaFactory.(ConnectionConcessionariaFactory.java:20)
pacoteDAO.CarrosDAO.salvar(CarrosDAO.java:20)
pacote.Controller.CarrosController.create(CarrosController.java:7
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.el.parser.AstValue.invoke(AstValue.java:172)
org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:6
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:8
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
javax.faces.component.UICommand.broadcast(UICommand.java:387)
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:11
javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
root cause
java.lang.NoSuchFieldError: level
org.apache.log4j.spi.RootLogger.setLevel(RootLogger.java:65)
org.apache.log4j.spi.RootLogger.(RootLogger.java:44)
org.apache.log4j.LogManager.(LogManager.java:7
org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:73)
org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:243)
org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:255)
org.hibernate.cfg.Configuration.(Configuration.java:151)
pacote.util.ConnectionConcessionariaFactory.(ConnectionConcessionariaFactory.java:17)
pacoteDAO.CarrosDAO.salvar(CarrosDAO.java:20)
pacote.Controller.CarrosController.create(CarrosController.java:7
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.el.parser.AstValue.invoke(AstValue.java:172)
org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:6
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:8
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
javax.faces.component.UICommand.broadcast(UICommand.java:387)
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:11
javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.
Apache Tomcat/6.0.18 [/code]