Olá pessoal, gostaria de uma ajuda, estou tendo problema com minha classe do Hibernate que pega uma Sessão.
package br.com.colibri.hotelaria.util;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import br.com.colibri.hotelaria.apartamento.Apartamento;
import br.com.colibri.hotelaria.cliente.Cliente;
import br.com.colibri.hotelaria.locacao.Locacao;
import br.com.colibri.hotelaria.tipo.Tipo;
import br.com.colibri.hotelaria.usuario.Usuario;
@SuppressWarnings("unused")
public class HibernateUtil {
private static SessionFactory sessionFactory;
static {
Configuration conf = new AnnotationConfiguration();
conf.configure();
}
public static Session getSession() {
return sessionFactory.openSession();
}
}
Usuário: FERNANDO
Senha: 12
log4j:WARN No such property [file] in org.apache.log4j.ConsoleAppender.
log4j:WARN No such property [datePattern] in org.apache.log4j.ConsoleAppender.
java.lang.NullPointerException
at br.com.colibri.hotelaria.util.HibernateUtil.getSession(HibernateUtil.java:25)
at br.com.colibri.hotelaria.usuario.LoginBean.buscaUsuario(LoginBean.java:81)
at br.com.colibri.hotelaria.usuario.LoginBean.logar(LoginBean.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.el.parser.AstValue.invoke(AstValue.java:278)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
23/10/2012 19:40:39 org.apache.catalina.core.StandardContext reload
INFO: Reloading Context with name [/rhw] has started
23/10/2012 19:40:41 org.apache.catalina.core.StandardContext addApplicationListener
INFO: The listener "com.sun.faces.config.ConfigureListener" is already configured for this context. The duplicate definition has been ignored.
23/10/2012 19:40:41 com.sun.faces.config.ConfigureListener contextInitialized
INFO: Inicializando Mojarra 2.0.4 (FCS b09) para o contexto '/rhw'
23/10/2012 19:40:42 com.sun.faces.spi.InjectionProviderFactory createInstance
INFO: JSF1048: Anotações PostConstruct/PreDestroy presentes. Os métodos ManagedBeans marcados com essas anotações informarão as anotações processadas.
23/10/2012 19:40:42 com.sun.faces.config.WebConfiguration$DeferredParameterLoggingAction log
AVISO: JSF1025: [/rhw] O parâmetro de inicialização de contexto 'facelets.REFRESH_PERIOD' está desaprovado. A opção continuará configurada, mas use 'javax.faces.FACELETS_REFRESH_PERIOD' no futuro.
23/10/2012 19:40:42 com.sun.faces.config.WebConfiguration$DeferredParameterLoggingAction log
INFO: JSF1019: [/rhw] A opção de configuração 'javax.faces.FACELETS_REFRESH_PERIOD' foi REDEFINIDA para '-1'
23/10/2012 19:40:42 org.apache.catalina.core.StandardContext reload
INFO: Reloading Context with name [/rhw] is completed
<?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>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/reservadb</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- Exibir o SQL no Console -->
<property name="hibernate.show_sql">true</property>
<!-- Formatar o SQL no Console -->
<property name="hibernate.format_sql">true</property>
<!-- Pool de Conexões do Hibernate -->
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.timeout">300</property>
<property name="hibernate.c3p0.max_statements">50</property>
<property name="hibernate.c3p0.idle_test_period">3000</property>
<property name="hibernate.cache.use_query_cache">true</property>
<property name="hibernate.cache.use_second_level_cache">true</property>
<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
<property name="hibernate.current_session_context_class">thread</property>
<mapping class="br.com.colibri.hotelaria.usuario.Usuario" />
</session-factory>
</hibernate-configuration>
private Usuario buscaUsuario(String login, String senha) {
StringBuilder sql = new StringBuilder();
sql.append("FROM Usuario us WHERE us.login = '");
sql.append(login.toUpperCase());
sql.append("' AND us.senha = '");
sql.append(senha);
sql.append("'");
String aSQL = sql.toString();
Session session = HibernateUtil.getSession();
Query q = session.createQuery(aSQL);
Usuario userBD = (Usuario) q.uniqueResult();
session.close();
return userBD;
}
Alguém pode me ajudar, obrigado…