使用Spring4.1.7+HIbernate4.3.10,项目运行一会就回报错!如下:
Exception in thread "Timer-11" java.lang.NullPointerException
at com.mchange.v2.log.log4j.Log4jMLog$Log4jMLogger.isLoggable(Log4jMLog.java:257)
at com.mchange.v2.resourcepool.BasicResourcePool$CullTask.run(BasicResourcePool.java:1934)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Exception in thread "Timer-12" java.lang.NullPointerException
dao层代码:
public Users login(Users users) {
String hql="from Users where status='1' and mobile=? and password=?";
List<Users> listUsers = (List<Users>) getHibernateTemplate().find(hql, new Object[]{users.getMobile(),users.getPassword()});
if(listUsers==null || listUsers.size()<1){
return null;
}
return listUsers.get(0);
/*Session session= getHibernateTemplate().getSessionFactory().getCurrentSession();
Query query = session.createQuery(hql);
query.setParameter("mobile", users.getMobile());
query.setParameter("password", users.getPassword());
List<Users> listUsers = query.list();
if(listUsers==null || listUsers.size()<1){
return null;
}
return listUsers.get(0);*/
}
注释的代码使用session进行查询的~
有可能是这种错误:
1。你使用的是hibernate的c3p0连接池2。你在你的dao层种使用了若干session并没有释放,到一定的连接数量就会出问题
解决办法:
如果你的dao层继承了这个类HibernateDaoSupport
那么执行数据库操作的时候使用getHibernateTemplate().XXX方法进行增删改查