spring 事物提交控制不住

问题描述

@Servicepublic class OrderServiceImpl implements OrderService { @Autowired OrderDao orderDao; public void methodA{ this.methodB(); System.out.println("****"); } @Transactional public void methodB{ Order order = new Order(); order.set(.....); orderDao.save(order); }}这里面有个问题,其他类调用methodA,为什么在A方法中保存order,而没有直接insert而是System.out.println("****")之后才insert呢?请问我应该怎么在之前就insert到数据库呢? 问题补充:请问下,我应该如何来配置或者调整来达到我想要的结果呢?javaliver 写道

解决方案

是hibernate不会把sql语句直接提交给数据库,而是先放在hibernate的缓存中等事务commit的时候一起提交,这样就导致sql语句执行的顺序与程序不一致
解决方案二:
引用请问下,我应该如何来配置或者调整来达到我想要的结果呢? 正常的java 程序就是 顺序执行的!也就是你想要的效果! 可能 hibernate做了些手脚吧! 你可以试试save完 立即刷新缓存或者不是有缓存

时间: 2024-12-03 06:51:37

spring 事物提交控制不住的相关文章

spring 事物管理问题请教,多谢~

问题描述 spring 事物管理问题请教,多谢~注册同时插入两张表,member(mid,mail),company(cid,companyname)代码帖出来,多谢指点~~config.xml<bean id="companyService" class="com.cms.service.impl.CompanyServiceImpl"><property name="companyDAO"><ref local=

Spring事物是不是对于HQL无效?

问题描述 我的Spring事物定义到impl然后里面调用了两个dao方法第一个方法是使用hql删除信息第二个方法是使用save方法保存信息两个方法间调用了一个判断,现在判断那爆空指针异常,本来该全部回滚,但是删除却已经执行了,这是什么情况啊? 问题补充:<bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"p:sess

Spring 定时器 如何控制开始触发

问题描述 Spring定时器如何控制开始触发,比如:某个表中的一个字段,预设为空,当被添加了值的时候开始计时,300秒后再清空这个字段的值.后面的清空我知道如何调用controller里面的方法就可以了,但是如何在被添加了值的时候开始触发这个定时器呢.求大神说下. 解决方案 解决方案二:我的想法:设置一个标识,初设为false,当表被添加了值之后将这个标识设为true.然后根据这个标识判断定时器是否有效即可.

Spring.Net——理解控制反转和依赖倒置

一,控制反转(Inversion of Control,缩写IoC)和依赖注入(Dependency Injection,简称DI)        1,控制反转                         IoC(Inversion of Control),这是spring的核心,贯穿始终.所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关 系.         以前,我们是这样创建对象的:      /* //普通调用 IPersonDAO per

spring事物的七种事物传播属性行为及五种隔离级别

首先,说说什么事务(Transaction). 事务,就是一组操作数据库的动作集合.事务是现代数据库理论中的核心概念之一.如果一组处理步骤或者全部发生或者一步也不执行,我们称该组处理步骤为一个事务.当所有的步骤像一个操作一样被完整地执行,我们称该事务被提交.由于其中的一部分或多步执行失败,导致没有步骤被提交,则事务必须回滚到最初的系统状态. 其中spring七个事物传播属性: PROPAGATION_REQUIRED -- 支持当前事务,如果当前没有事务,就新建一个事务.这是最常见的选择. PR

spring 事物

问题描述 配置文件 参考:http://www.iteye.com/problems/47560问题描述: 1.0 肯定数据库 mysql 只是事物会滚! 类型 InnoDB 2.0 配置估计也没错 问题的情况反映出来的 现象: 1.0 声明式事物配置时 junit 测试事物正常回滚 页面请求 方式 回滚失败! 通一个service 方法 2.0 注解 annotation配置: junit 测试事物正常回滚 页面请求 方式 回滚失败! 通一个service 方法求解! 在线! 问题补充:多谢

spring的事务控制,嵌套调用时为何不起效

问题描述 我写的一个项目,用spring管理service层事务,利用<aop:config>织入service层,然后配置tx:advice,设置tx:method标签,name="delete*","insert*","update*",满足这三种特征的service方法,能正常实现再异常时回滚.但是,我在service定义了另外一个没有带着个特征的方法,比如userRegedit(){}在这个方法里调用"insert*

spring事物不起作用

问题描述 spring的主要配置如下:dao的实现如下:下面是执行的测试代码:public class Test {public static void main(String [] agrs){ApplicationContext ac = new FileSystemXmlApplicationContext("src/applicationContext.xml");ISpringDaoDemo dao = (ISpringDaoDemo) ac.getBean("sp

求解释spring事物详细,代码已帖

问题描述 这是控制事物:哪位同学帮我解释下,关于里面的属性都有什么用处,还有再处理批处理的时候,假设有10条数据,保存一半就报错了,但是有5条能存入,然后返回失败的原因,做好有service层代码例子让我看看,谢谢啦.<bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property n