Hibernate(三): org.hibernate.HibernateException: No CurrentSessionContext configured!

Hibernate版本5.2.9

获取Session的方式是sessionFactory.getCurrentSession();

比较老一些的版本使用的是sessionFactory.openSession()是不管任何情况都重新开启一个Session。

从两者却别来说getCurrentSession();相对的增加了一个判断,在有Session的情况下就会直接去调用,没有session的话才会创建。比openSession()要好一点。

但是,目前却遇到了问题:

四月 15, 2017 1:38:33 下午 org.hibernate.tool.schema.internal.SchemaCreatorImpl applyImportSources
INFO: HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@4ebea12c'
Exception in thread "main" org.hibernate.HibernateException: No CurrentSessionContext configured!
    at org.hibernate.internal.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:454)
    at com.dx.hibernate5.test.HelloWord.main(HelloWord.java:43)

网上搜索了一下,找到了解决问题的方案:

1、如果是Hibernate集成了JBoss的情况下,需要在*.cfg.xml配置文件中新增配置:

<property name="hibernate.current_session_context_class">jta</property>

2、如果是不继承的话,需要在*.cfg.xml配置文件中新增配置:

<property name="hibernate.current_session_context_class">thread</property>

经调试,问题解决了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值