问题描述
我有一个action得到参数要去数据库查找,我用的是hibernate。action:(调用了自己写的HibernateUtil的findUser方法)List<User>list=HibernateUtil.findUser(strUserName,strPwd);HibernateUtilstaticprivateSessionsession;staticGetHibernatehib=newGetHibernate();publicstaticList<User>findUser(StringuserName,Stringpwd){List<User>list=null;try{session=hib.openSession();Queryquery=session.createQuery(XXXX)GetHibernate:(关键来了在openSession函数里)privatestaticSessionFactorysessionFactory=null;static{try{Configurationconf=newConfiguration().configure();sessionFactory=conf.buildSessionFactory();}catch(Exceptione){e.printStackTrace();}}publicSessionopenSession(){returnsessionFactory.openSession();}这段函数我用junit测试HibernateUtil.findUser(strUserName,strPwd);没有问题但是在WEB应用中我的sessionFactory为什么为null(GetHibernate不为null)。static的代码块没用被执行吗?我设置断点也进不去
解决方案
解决方案二:
单独写个HibernateSesionFactory类,声明一个static块去初始化sessionFactory以及编写获取session和关闭session的方法。