Spring+Hibernate进行单元测试时出现read-only mode错误
来源:互联网 发布:集思宝g120数据导出 编辑:程序博客网 时间:2024/06/07 02:19
框架版本
springframework 4.x
hibernate 5.x
spring 设置
<aop:config expose-proxy="false"> <aop:advisor id="serviceTx" advice-ref="txAdvice" pointcut="execution(* *..service.*Service.*(..))" order="2" /></aop:config><tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="get*" propagation="SUPPORTS" read-only="true" /> <tx:method name="count*" propagation="SUPPORTS" read-only="true" /> <tx:method name="find*" propagation="SUPPORTS" read-only="true" /> <tx:method name="list*" propagation="SUPPORTS" read-only="true" /> <tx:method name="*" read-only="false" propagation="REQUIRED" /> </tx:attributes></tx:advice>
问题
对Service层做单元测试时,要进行相应保存操作。
@Testpublic void testSave() { try { User user = new User(); user.setNickname("akio...akio"); userService.save(user); } catch (Exception e) { e.printStackTrace(); Assert.fail(); }}
但是在对Dao层做单元测试时:
@Testpublic void testSave() { try { User user = new User(); user.setNickname("akioyuan.cn"); userDao.save(user); } catch (Exception e) { e.printStackTrace(); Assert.fail(); }}
出现错误:
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.
明明没有将save*方法设置为readOnly,但是却提示“read-only mode”。
解决
给Dao层也加上事务声明,问题解决。
<aop:config expose-proxy="false"> <!-- Service层事务通用增强 --> <aop:advisor id="serviceTx" advice-ref="txAdvice" pointcut="execution(* *..service.*Service.*(..))" order="2" /> <!-- Dao层事务通用增强 --> <aop:advisor advice-ref="txAdvice" pointcut="execution(* *..dao.*Dao.*(..))" /></aop:config>
难道默认的事务都是read-only的么?
0 0
- Spring+Hibernate进行单元测试时出现read-only mode错误
- 关于spring+hibernate的read-only mode
- Hibernate 运行时发生Write operations are not allowed in read-only mode错误
- Spring整合Hibernate错误日记2:Write operations are not allowed in read-only mode (FlushMode.MANUAL)
- Spring+Hibernate报错:Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL)
- spring配置hibernate添加数据save not allow in read-only mode
- android调试时出现Read-only file system错误
- 用Unitils测试DAO时出现Write operations are not allowed in read-only mode异常
- open Session in view出现错误的解决方法Write operations are not allowed in read-only mode (FlushMode.NEVER) -
- openSessionInView,如果没有配置事务,会出现Write operations are not allowed in read-only mode。。。错误
- ssh整合的时候出现错误:Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL)
- spring配置hibernate抛出read only 异常
- Write operations are not allowed in read-only mode错误
- Hibernate使用Spring进行单元测试时的事务问题
- 【经验】VMware Tools安装时出现错误提示:Read-only file system
- VMware Tools安装时出现错误提示:Read-only file system
- MySql出现#1036 – Table ‘ ‘ is read only 错误解决方法
- Linux出现Read-only file system错误的解决方法
- 谢娜一直被称为“闰土老婆”的原因,这就真相了
- ASP .NET导出word
- 五类IP地址范围及作用
- 商务统邀请框openZoosUrl还可以这么玩
- Linux文件系统
- Spring+Hibernate进行单元测试时出现read-only mode错误
- make: execvp: /usr/local/cuda: 权限不够 Makefile:588: recipe for target '.build_release/cuda/src/caffe/l
- Android 地址空间随机化(ALSR)缓解技术
- Fragment与Activity的通信
- Spring学习笔记(11.Spring Bean装配注释)
- IT人生法则
- 网络抓包神器-Charles使用指南
- linux用户管理和分区
- python 装饰器