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>
经调试,问题解决了。
基础才是编程人员应该深入研究的问题,比如:
1)List/Set/Map内部组成原理|区别
2)mysql索引存储结构&如何调优/b-tree特点、计算复杂度及影响复杂度的因素。。。
3)JVM运行组成与原理及调优
4)Java类加载器运行原理
5)Java中GC过程原理|使用的回收算法原理
6)Redis中hash一致性实现及与hash其他区别
7)Java多线程、线程池开发、管理Lock与Synchroined区别
8)Spring IOC/AOP 原理;加载过程的。。。
【+加关注】。