Hibernate异常openSession()与getCurrentSession
在之前的Hibernate学习中总会在HibernateSessionFactory中实现getSessionFactory(),之后用getCurrentSession()去获取Session.但是,在程序运行的时候抛出了异常:
org.hibernate.HibernateException: No CurrentSessionContext configured!
异常信息是没有当前的Session的意思,我又仔细的看了一下代码,感觉没什么错误,一切都OK,重新部署了一下,运行还是不行,GOOGLE了一下,查看了一下Hibernate API Documentaction才知道原来是getCurrentSession()这个方法在搞鬼.之后把getCurrentSession()改成了openSession(),Ok程序跑起来了~!~~
这两个方法的区别
getCurrentSession():
getCurrentSession()是SessionFactory接口里的一个方法, getCurrentSession()获取当前的Session,return的是当前的Session.
openSession():
openSession()也是SessionFactory接口里的一个方法, openSession()是先创建一个数据库连接,之后在这个连接的基础上打开一个Session.return的是打开的这连接.