save is not valid without active transaction

org.hibernate.HibernateException: save is not valid without active transaction
at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:340)
at com.sun.proxy.$Proxy4.save(Unknown Source)
at liuyang.dao.DeptDao_a.save(DeptDao_a.java:15)
at liuyang.service.DeptService_a.serviceSave(DeptService_a.java:15)
at test.TestHibernate.test(TestHibernate.java:24)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

这个错误是在hbiernate.cfg.xml中加载了线程控制

<prop key="hibernate.current_session_context_class">thread</prop> 

把这句删除错误就消失了.版本3不用加载这个.

时间: 2024-08-08 19:09:50

save is not valid without active transaction的相关文章

&lt;转&gt;如果你报createSQLQuery is not valid without active transaction,请看这里

很多时候我们使用hibernate的session时,都是让session在 某一运行环境中保持其唯一.例如在同一线程内用同一个session,在同一方法内用同一session,这样我们就可以用session里面缓存好的数 据.但,我想说的不是缓存,且听我一一道来.         最近试用spring3.0.2+struts2.18+hibernate3.3.2学习搭建一个web项目,出现了一个相当郁闷的问题.就是我明明配置好了spring管理hibernate事务了,当 我在dao中执行hi

编程异常——假设你报createSQLQuery is not valid without active transaction,...

非常多时候我们使用hibernate的session时,都是让session在某一执行环境中保持其唯一. 比如在同一线程内用同一个session.在同一方法内用同一session,这样我们就能够用session里面缓存好的数据.但.我想说的不是缓存,且听我一一道来. 近期试用spring3.0.2+struts2.18+hibernate3.3.2学习搭建一个web项目,出现了一个相当郁闷的问题. 就是我明明配置好了spring管理hibernate事务了,当我在dao中运行hibernate的

编程异常——如果你报createSQLQuery is not valid without active transaction,...

很多时候我们使用hibernate的session时,都是让session在某一运行环境中保持其唯一.例如在同一线程内用同一个session,在同一方法内用同一session,这样我们就可以用session里面缓存好的数据.但,我想说的不是缓存,且听我一一道来. 最近试用spring3.0.2+struts2.18+hibernate3.3.2学习搭建一个web项目,出现了一个相当郁闷的问题.就是我明明配置好了spring管理hibernate事务了,当我在dao中执行hibernate的方法时

Spring不能给sessionFactory注入值的问题,以及org.hibernate.HibernateException: createQuery is not valid without active transaction异常

在Struts2+Spring3+Hibernate4的框架下,本来想在DAO中通过setter注入,给sessionFactory赋值,但是却出现NullPointerException的异常.经过调试,发现sessionFactory的值为null.后来发现,原来在service层中,这个DAO类的对象是通过new得来的,而不是通过Spring注入的.因此这个new出来的DAO对象,没有被Spring注入sessionFactory,必然它的sessionFactory为空了.于是改为由Sp

Hibernate 与Spring整合出现 hibernate.HibernateException: createCriteria is not valid without active transaction

当 Hibernate 和 Spring 整合时,在 Spring 中指定的 Hibernate.cfg.xml 文件内容中要注释掉以下内容: <!-- Enable Hibernate's automatic session context management --> <!-- <property name="current_session_context_class">thread</property> -->这样,才能将 Hibe

org.hibernate.HibernateException: getFlushMode is not valid without active transaction

Spring & Hibernate 整合异常记录: 原因 <prop key="hibernate.current_session_context_class">thread</prop> 注释该配置即可.

hibernate常见问题?

1. <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> hibernate4版本<prop key="hibernate.current_session_context_class">thread</prop>--->获取当前会话会导致如下结果: 异常信息:org.hi

Hibernate4.3.9Final常见问题汇总

hibernate4下一个可用的hibernate.properties: jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/hibernate?characterEncoding=UTF-8 jdbc.username=username jdbc.password=password hibernate.dialect=org.hibernate.dialect.MySQLDialect

Hibernate 异常总结

异常一 异常一 异常描述: Sax解析异常:cvc-复杂的类型,发现了以元素maping开头的无效内容,应该是以 '{"http://www.hibernate.org/xsd/orm/cfg":property, "http://www.hibernate.org/xsd/orm/cfg":mapping, "http://www.hibernate.org/xsd/orm/cfg":class-cache, "http://www.