自己学习Hibernate时的一个低级错误:sessionFactory.getCurrentSession()空指针异常
2018-03-04 19:04
1551 查看
原来我声明了SessionFactory,之后我在静态代码块中又定义了一个SessionFactory,看错误代码
导致
正确代码:
ps:注意一下,如果不是犯我的低级错误,就是在hibernate核心配置文件中没有配置session与本地线程绑定,在hibernate.cfg.xml中加入如下配置
public class HibernateUtils { static Configuration cfg = null; static SessionFactory sessionFactory = null; static { Configuration cfg = new Configuration(); cfg.configure(); SessionFactory sessionFactory = cfg.buildSessionFactory();//这里多定义了一个SessionFactory } public static SessionFactory getSessionFactory(){ return sessionFactory; } /* 提供返回与本地线程绑定的session方法 * */ public static Session getSessionObject(){ return sessionFactory.getCurrentSession(); } }
导致
session = HibernateUtils.getSessionObject();一直获取不到session对象,获取
NULL
正确代码:
*/ public class HibernateUtils { static Configuration cfg = null; static SessionFactory sessionFactory = null; static { Configuration cfg = new Configuration(); cfg.configure(); sessionFactory = cfg.buildSessionFactory(); } public static SessionFactory getSessionFactory(){ return sessionFactory; } /* 提供返回与本地线程绑定的session方法 * */ public static Session getSessionObject(){ return sessionFactory.getCurrentSession(); } }
ps:注意一下,如果不是犯我的低级错误,就是在hibernate核心配置文件中没有配置session与本地线程绑定,在hibernate.cfg.xml中加入如下配置
<property name="hibernate.current_session_context_class">thread</property>
相关文章推荐
- Hibernate--Session session = sessionFactory.getCurrentSession()空指针异常
- Hibernate框架学习(第三讲)---openSession 和getCurrentSession的区别
- Hibernate整合进spring--使用hibernateTemplate.getSessionFactory().getCurrentSession()理解
- this.getsession和this.getHibernateTemplate().getSessionFactory().getCurrentSession()/OpenSession区别
- hibernateTemplate.getSessionFactory().getCurrentSession()
- 解决hibernate产生的id序列或者setXX不能同步到数据库到问题(this.hibernateTemplate.flush();hibernateTemplate.getSessionFactory().getCurrentSession().connection().commit())
- Spring3与hibernate4整合,sessionFactory.getCurrentSession()方法获取不到Session对象异常解决办法
- hibernate--coreapi--configuration sessionfactory--getcurrentsession--opensession
- this.getsession和this.getHibernateTemplate().getSessionFactory().getCurrentSession()/OpenSession区别
- 【JavaEE学习笔记】Hibernate_06_注解开发,getCurrentSession(),映射关系
- hibernate的openSessionFactory和getCurrentSession
- this.getsession和this.getHibernateTemplate().getSessionFactory().getCurrentSession()/OpenSession区别
- 【已解决】NoSuchMethodError: org.hibernate.SessionFactory.getCurrentSession()...
- this.getsession和this.getHibernateTemplate().getSessionFactory().getCurrentSession().OpenSession区别
- Hibernate SessionFactory getCurrentSession is not valid without active transaction
- getHibernateTemplate和getSession 区别, this.getHibernateTemplate().getSessionFactory().getCurrentSession()和OpenSession区别
- Hibernate运行错误之java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getPro
- hibernate调用sessionFactory.getCurrentSession().save(entity);数据无法插入到数据库
- this.getsession和this.getHibernateTemplate().getSessionFactory().getCurrentSession()/OpenSession区别 .
- etHibernateTemplate().getSessionFactory().getCurrentSession()事务中的session