1、使用spring控制事务

2、使用session.update(obj)执行更新

spring事务配置:

<bean id="transactionBese" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" lazy-init="true" abstract="true">
<property name="transactionManager" ref="transactionManager"/>
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="edit*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="del*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="get*">PROPAGATION_NEVER</prop>
</props>
</property>
</bean>

  

service方法:

public void enableJobtemplates(List<PlanJobtemplate> jobts) throws Exception {
dao.updateAll(jobts);
}

dao方法:

public void updateAll(final List list) throws Exception {
getHibernateTemplate().execute(new HibernateCallback() {
@Override
public Object doInHibernate(Session session) throws HibernateException {
for (Object obj : list) {
session.update(obj);
}
return null;
}
});
}

Controller方法:

@RequestMapping("/jobtenable")
public void EnableJobT(HttpServletRequest request,HttpServletResponse response) {
try {
List<PlanJobtemplate> jobts = planService.getJobTByIds(request.getParameterValues("id")); for(PlanJobtemplate jobt:jobts){
jobt.setState(EnumTools.UState.已禁用.ordinal());
}
planService.editJobtemplates(jobts);
utilService.printJsonResult(true, "操作成功!", "no", response);
} catch (Exception e) {
e.printStackTrace();
utilService.printJsonResult(false, "操作失败!", "no", response);
}
}

  

执行结果:执行过程中没报错,数据也没更新。

修改service方法:

public void editJobtemplates(List<PlanJobtemplate> jobts) throws Exception {
dao.updateAll(jobts);
}

  

执行结果:成功更新。

原因:如果使用spring控制事务,请注意配置是否正确,如果不是使用spring控制事务,在session.update后加一句session.flush

一般这种问题大概有两种原因
1.事务没有提交,下面已经说了。。
2.就是缓存问题建议在session.update后加一句session.flush(强制缓存中数据与数据库中同步)

最新文章

  1. jquery 实现 返回顶部
  2. js版扫雷(可直接运行试玩)
  3. 项目jar包管理,使用 .userlibraries 文件增加jar包的可移植性,明确jar包依赖,多项目共用jar包里
  4. java实现将汉字转为拼音
  5. xcode archive 一直是灰色的
  6. ServiceStack 介绍
  7. win系统 添加、修改右键&ldquo;发送到&rdquo;
  8. MS Sq l数据类型
  9. (C++) Interview in English. - Constructors/Destructors
  10. Spring AOP基础知识
  11. HDU 5326 work (回溯,树)
  12. ubuntu中磁盘挂载与卸载
  13. 沙盒操作的核心函数 - NSSearchPathForDirectoriesInDomains用法
  14. jquery通过attr取html里自定义属性原来这么方便啊
  15. 如何快速轻松学习bootstrap
  16. 【WebSocket】WebSocket介绍
  17. esxi虚拟机克隆后的主机网卡设置
  18. Mysql找回丢失密码
  19. VIO回顾:从滤波和优化的视角
  20. 【转】 vxWorks下常用的几种延时方法

热门文章

  1. java中输入3个数,从大到小的输出。。。。
  2. 使用 sysbench对mysql进行压力测试介绍之一
  3. socket粘包现象加解决办法
  4. oracle删除重复数据
  5. maven 安装 过程
  6. MFC 文档/视图
  7. 分布式爬虫搭建系列 之三---scrapy框架初用
  8. 使用GY89的BMP180模块获取温度和压强(海拔)
  9. Deep Learning(深度学习)学习笔记整理系列
  10. PHP PDO SQLSERVER