2 yanghang888888 yanghang888888 于 2017.09.01 09:58 提问

hibernate获取session报空指针

Session session = getHibernateTemplate().getSessionFactory().getCurrentSession(); 报空指针,是获取CurrentSession的时候报的,我该怎么办啊

3个回答

fcfwang_net
fcfwang_net   2017.09.01 10:07

你可以先使用opensession()方法试一下可以不

yanghang888888
yanghang888888 回复yanghang888888:简直要疯了
3 个月之前 回复
yanghang888888
yanghang888888 回复fcfwang_net: 配置文件没问题 ,,我调别的方法好使,调我这个就不好使 ,就报空指针
3 个月之前 回复
fcfwang_net
fcfwang_net 回复yanghang888888: 那你需要检查一下你的配置文件,如果session拿不到,可能是你的sessionfactory没有session,建议你使用debug看一下
3 个月之前 回复
yanghang888888
yanghang888888 这个我试过了 不好使 在网上查的 然后实验的 不好使 还有别的办法吗
3 个月之前 回复
Small_Mouse0
Small_Mouse0   Ds   Rxr 2017.09.01 10:14

getHibernateTemplate().getSessionFactory().getCurrentSession();

题主这句要好分开写,,,写得多了,,错误不好定位,,分开写,,看是getHibernateTemplate(),,,没获取到,,还是getSessionFactory()这个没获取到

yanghang888888
yanghang888888 我项目里面是分来着写 的 ,,,是getSessionFactory()没有获取到 然后再调用的时候就报空指针了
3 个月之前 回复
shaobo7705601
shaobo7705601   2017.09.01 11:15

调用的方法没有事务,getCurrentSession();这个方法是从事务中获取session的。你配置文件没有配置事务,或者事务没有覆盖到该调用方法。如果支持注解,试着在方法上加@transactional。然后在试试

Csdn user default icon
上传中...
上传图片
插入图片