Estou desenvolvendo um controle de usuário, mas estou com problemas no acesso a minha classe do hiberneteUtil. Ela não pode ser inicializada , Alguem tem sugestão?
packageconexao;/* * To change this template, choose Tools | Templates * and open the template in the editor. */importorg.hibernate.cfg.AnnotationConfiguration;importorg.hibernate.SessionFactory;/** * Hibernate Utility class with a convenient method to get Session Factory object. * * @author Cristofe Rocha */publicclassHibernateUtil{privatestaticfinalSessionFactorysessionFactory;static{try{// Create the SessionFactory from standard (hibernate.cfg.xml) // config file.sessionFactory=newAnnotationConfiguration().configure().buildSessionFactory();}catch(Throwableex){// Log the exception.System.err.println("Inicializacao da Fabrica de sessao falha !!."+ex);thrownewExceptionInInitializerError(ex);}}publicstaticSessionFactorygetSessionFactory(){returnsessionFactory;}}
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packageconexao;importorg.hibernate.Session;/** * * @author Cristofe Rocha */publicclassConectaPostgres{publicstaticvoidmain(String[]args){Sessionsessao=null;try{sessao=HibernateUtil.getSessionFactory().openSession();System.out.println("conectou!!");}finally{sessao.close();}}}
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packageusuario;importjavax.faces.application.FacesMessage;importjavax.faces.bean.*;importjavax.faces.context.FacesContext;/** * * @author Cristofe Rocha */@ManagedBean(name="usuarioBean")@RequestScopedpublicclassUsuarioBean{privateUsuariousuario=newUsuario();privateIntegerconfirmaSenha;publicStringnovo(){this.usuario=newUsuario();this.usuario.setAtivo(true);return"cadUsuario";}publicStringsalvar(){FacesContextcontext=FacesContext.getCurrentInstance();Integersenha=this.usuario.getPasswd();if(!senha.equals(this.confirmaSenha)){FacesMessagefacesMessage=newFacesMessage("A senhas sao diferentes");context.addMessage(null,facesMessage);returnnull;}UsuarioRNusuarioRN=newUsuarioRN();usuarioRN.salvar(this.usuario);return"cadUsuario";}publicIntegergetConfirmaSenha(){returnconfirmaSenha;}publicvoidsetConfirmaSenha(IntegerconfirmaSenha){this.confirmaSenha=confirmaSenha;}publicUsuariogetUsuario(){returnusuario;}publicvoidsetUsuario(Usuariousuario){this.usuario=usuario;}}
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packageusuario;importjava.util.List;/** * * @author Cristofe Rocha */publicclassUsuarioRN{privateUsuarioDAOusuarioDAO;publicUsuarioRN(){this.usuarioDAO=DAOFactory.criarUsuarioDAO();}publicvoidexcluir(Usuariousuario){this.usuarioDAO.Excluir(usuario);}publicList<Usuario>listar(){returnthis.usuarioDAO.listar();}publicvoidsalvar(Usuariousuario){/* Integer codigo = usuario.getCodigo(); if (codigo == null || codigo == 0) { this.usuarioDAO.Salvar(usuario); } else {*/this.usuarioDAO.Atualizar(usuario);}}
juceliohv
Eu usei assim irmão.
packagePersistencia.util;importorg.hibernate.SessionFactory;importorg.hibernate.cfg.Configuration;/** * Hibernate Utility class with a convenient method to get Session Factory object. * * @author juc */publicclassHibernateUtil{privatestaticfinalSessionFactorysessionFactory1;privatestaticfinalSessionFactorysessionFactory2;static{try{sessionFactory1=newConfiguration().configure("hibernateMtCad.cfg.xml").buildSessionFactory();sessionFactory2=newConfiguration().configure("hibernateMtAvalPisCofins.cfg.xml").buildSessionFactory();}catch(Throwableex){System.err.println("Initial SessionFactory creation failed."+ex);thrownewExceptionInInitializerError(ex);}}publicstaticSessionFactorygetSessionFactory1(){returnsessionFactory1;}publicstaticSessionFactorygetSessionFactory2(){returnsessionFactory2;}}
Fiz a alteração como postado e os logs são estes agora. Checando os códigos vejo que há um problema de biblioteca .ExceptionInInitializerError que aponta para a linha: sessionFactory = new AnnotationConfiguration().configure("/conexao/hibernate.cfg.xml").buildSessionFactory();
do meu Hibernate.Util.