org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.
出现这个错误,大概意思是说,此时是不允许写操作的,
org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition. at org.springframework.orm.hibernate4.HibernateTemplate.checkWriteOperationAllowed(HibernateTemplate.java:1135) at org.springframework.orm.hibernate4.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:620) at org.springframework.orm.hibernate4.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:617) at org.springframework.orm.hibernate4.HibernateTemplate.doExecute(HibernateTemplate.java:340) at org.springframework.orm.hibernate4.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:308) at org.springframework.orm.hibernate4.HibernateTemplate.save(HibernateTemplate.java:617) at springMVC.NLoveB.dao.impl.LoginOrRegisterImpl.register(LoginOrRegisterImpl.java:51) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498)
不允许写操作
以上错误信息中的这个类.方法
springMVC.NLoveB.dao.impl.LoginOrRegisterImpl.register
是我自己写的,很明显是一个dao层
在spring种,dao层是由spring的事物管理的
我们再来看看我们的事务配置信息
以下代码是我配置的事物管理部分代码
<!-- 以下开始配置事务管理 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="insert*" propagation="REQUIRED"/>
<tx:method name="save*" propagation="REQUIRED"/>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="add*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
那么错误就很明显了
为的dao层的类里面的 register这个注册方法名是不正确的 ,我可以更改为 saveregister
这个错误显然是忘记了事务的配置了
爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情