工作中遇到的,事物问题,各位大神看过来

默默的前进 2015-03-23 05:48:14
项目框架,ssh
在action中 使用 @Transactional 注解开启了读写事物.

但是dao中使用了纯生sql 就是这中:getSession().createSQLQuery(sql).list();


我断点看了下,这句一运行完成,数据库的数据就已经被更新了,那如果过了这句后面的操作数据库代码抛出异常,数据库中被更新的数据并不会被回滚.从而无法保证数据的完整性.

肯请各位大大,这个如何解决!!!怎么才能保证其完整
...全文
142 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
默默的前进 2015-03-24
  • 打赏
  • 举报
回复
结贴,知道原因所在了.项目中代码写的有问题
tianfang 2015-03-24
  • 打赏
  • 举报
回复
测试方法不准确 查看事务要让事务过程执行完再看,可以写测试程序来测,A进程启动事务 其中sleep如干秒等待B,B进程做另外一次更改,看看B进程是否报错(主进程事务锁表),最后再查看数据库是否是符合测试目标
支点Pro 2015-03-23
  • 打赏
  • 举报
回复
保证两点:1、transaction要用org.springframework.....这个包中的2、在配置文件中还要做相关修改才能起作用。
Jinggg_ 2015-03-23
  • 打赏
  • 举报
回复
利用spring管理事务这种情况应该会自动回滚的。
踏 浪 2015-03-23
  • 打赏
  • 举报
回复
那要看事物有没有起作用,只是在action加了注解而已,有没有配置好事务
默默的前进 2015-03-23
  • 打赏
  • 举报
回复
this.getCurrentSession().createSQLQuery(sql).executeUpdate(); 打错一句了,

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧