2 beautiful gaga beautiful_gaga 于 2016.01.26 23:20 提问

hibernate 中openSession()

Configuration cfg = new Configuration().configure();
SessionFactory factory = cfg.buildSessionFactory();
Session session = null;
session = factory.openSession();

上面代码中,factory不为空,但是session却为空?求解!谢谢!

2个回答

caozhy
caozhy   Ds   Rxr 2016.01.26 23:33
wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.01.30 16:11

这个问题说明你前面的SessionFactory的获取就出了问题。建议你使用try..catch包围这两句话,看下获取SessionFactory对象过程中有没有出现异常。
此外检查下数据库连接的配置文件。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Hibernate 中的 openSession和getCurrentSession 方法的区别
在比较openSession和getCurrentSession这两个方法之前,我们先认识一下这两个方法。 在进行配置信息管理时,我们一般进行一下简单步骤: Configuration cfg = new Configuration(); // 获得配置信息对象 SessionFactory sf = cfg.configure().buildSessionFactory()
Hibernate两种获取session的方式openSession和getCurrentSession的区别与理解
1)openSession和getCurrentSession的区别 openSession必须关闭,currentSession在事务结束后自动关闭 openSession没有和当前线程绑定,currentSession和当前线程绑定 2)如果使用currentSession需要在hibernate.cfg.xml文件中进行配置: a、如果是本地事务(jdbc
hibernate之openSession()和getCurrentSession()的区别
hibernate之openSession()和getCurrentSession()的区别
对于Hibernate的openSession方法为什么不是线程安全的源码理解
首先,先明确几个概念。1、局部变量不会受多线程影响。2、成员变量会受到多线程影响。 多个线程调用的同一个对象的同一个方法: 如果方法里无成员变量,不受任何影响, 如果方法里有成员变量,只有读操作,不受影响,存在赋值操作,有影响。第一点 SessionFactory和Session都是接口,SessionFactoryImpl和SessionImpl是其实现。第二点 SessionFacto
hibernate session.open()和session.getCurrentSession()区别很重要
Session session = sessionFactory.openSession();永远打开一个新的session 需要session.close(); session = sessionFactory.getCurrentSession();如果上下文(在配置文件hibernate.cfg.xml里)有session就不用创建没有就新建一个session,不用session.clos
例说Hibernate的openSession和getCurrentSession区别
很多资料从理论上解释Hibernate的openSession和getCurrentSession的区别,本人写了几个程序来理解它们的区别,在这里和大家分享一下。 简单来说,openSession是打开一个新的session,而getCurrentSession则是获取当前线程里的session,如果没有才打开新的。 hibernate可以通过session来控制事务,有了getCurrent
Hibernate中的openSession(),getSession() 和 getCurrentSession() 的区别
开发中,使用MyEclipse自动生成的Hibernate DAO类中在对session的获取中,都使用的getSession(MyEclipse8.5之前的版本都是如此)。 首先要说明一下这3个方法: 1、openSession 和 getCurrentSession这两个方法是 Hibernate中的sessionFactory中的方法。要获取session只能通过这两个方法获取。 2、
HIbernate中openSession和getCurrentSession
这两者的区别网上很多资源,我这里就copy一下了,然后有点问题的是今天遇到的问题。  openSession和getCurrentSession的根本区别在于有没有绑定当前线程,所以,使用方法有差异: * openSession没有绑定当前线程,所以,使用完后必须关闭, * currentSession和当前线程绑定,在事务结束后会自动关闭。  今天在复习Hibernate时,看到Hiberna
Hibernate 中getCurrentSession 与 openSession() 的区别
1、getCurrentSession()与openSession()的区别? * 采用getCurrentSession()创建的session会绑定到当前线程中,而采用openSession() 创建的session则不会 * 采用getCurrentSession()创建的session在commit或rollback时会自动关闭,而采用openSession() 创建的sessio
Hibernate关于Session管理的openSession和getCurrentSession的理解
1:getCurrentSession会把Session和当前的线程关联起来,而openSession只是重新开启一个Session 2:getCurrentSession获得的Session会在事务关闭或者回滚时会自动关闭,而openSession获得的Session必须手动关闭      getCurrentSession,特定的实现用它来负责跟踪当前的上下文session,Hiberna