今天项目组有成员使用spring声明式事务出现下面异常,这里跟大家分享学习下。
异常信息:
org.springframework.orm.hibernate3.HibernateSystemException: identifier of an instance of com.xxx.entity.Activity was altered from 33 to null; nested exception is org.hibernate.HibernateException: identifier of an instance of com.xxx.entity.Activity was altered from 33 to null
出现异常代码:(都是在service层中的一个方法里)
@Service
@Transactional
public class GroupServiceImpl extends CoreManagerImpl<Group> implements GroupService
省略
@Override
public Group updateGroup(Group group,Group old) throws Exception {
Group doGroupUpdate = doGroupUpdate(group, old);
List<SubGroup> subs = doSubGroupsUpdate(group.getSubGroups(), doGroupUpdate.getId());
doGroupUpdate.setSubGroups(subs);
Activity activity = updateActivity(doGroupUpdate);
activity.setId(null);//发生异常的原因
updateSeller(doGroupUpdate);
doGroupUpdate.setActivity(activity);
return doGroupUpdate;
}
修复后代码:
@Override
public Group updateGroup(Group group,Group old) throws Exception {
Group doGroupUpdate = doGroupUpdate(group, old);
List<SubGroup> subs = doSubGroupsUpdate(group.getSubGroups(), doGroupUpdate.getId());
doGroupUpdate.setSubGroups(subs);
Activity activity = updateActivity(doGroupUpdate);
//activity.setId(null);
updateSeller(doGroupUpdate);
doGroupUpdate.setActivity(activity);
return doGroupUpdate;
}
原因分析:
使用spring声明试事务,在整个事务(里面有多个子事务)没有提交成功,就将id主键设置成了null(主键不可以为null),所以会抛出上述异常。spring声明式事务是在所有子操作都完成一起提交事务的。

  

161117、使用spring声明式事务抛出 identifier of an instance of的更多相关文章

  1. Spring声明式事务管理基于@Transactional注解

    概述:我们已知道Spring声明式事务管理有两种常用的方式,一种是基于tx/aop命名空间的xml配置文件,另一种则是基于@Transactional 注解.         第一种方式我已在上文为大 ...

  2. Spring声明式事务管理与配置详解

    转载:http://www.cnblogs.com/hellojava/archive/2012/11/21/2780694.html 1.Spring声明式事务配置的五种方式 前段时间对Spring ...

  3. 【spring基础】spring声明式事务详解

    一.spring声明式事务 1.1 spring的事务管理器 spring没有直接管理事务,而是将管理事务的责任委托给JTA或相应的持久性机制所提供的某个特定平台的事务实现.spring容器负责事物的 ...

  4. Spring声明式事务管理与配置介绍

    转至:http://java.9sssd.com/javafw/art/1215 [摘要]本文介绍Spring声明式事务管理与配置,包括Spring声明式事务配置的五种方式.事务的传播属性(Propa ...

  5. Spring 声明式事务与编程式事务详解

    本文转载自IBM开发者论坛:https://developer.ibm.com/zh/articles/os-cn-spring-trans 根据自己的学习理解有所调整,用于学习备查. 事务管理对于企 ...

  6. spring 声明式事务管理

    简单理解事务: 比如你去ATM机取5000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉5000元钱:然后ATM出5000元钱.这两个步骤必须是要么都执行要么都不执行.如果银行卡扣除了5000块但 ...

  7. Spring声明式事务管理(基于注解方式实现)

    ----------------------siwuxie095                                 Spring 声明式事务管理(基于注解方式实现)         以转 ...

  8. Spring声明式事务管理(基于XML方式实现)

    --------------------siwuxie095                             Spring 声明式事务管理(基于 XML 方式实现)         以转账为例 ...

  9. 深刻理解Spring声明式事务

    问题引入 Spring中事务传播有哪几种,分别是怎样的? 理解注解事务的自动配置? SpringBoot启动类为什么不需要加@EnableTransactionManagement注解? 声明式事务的 ...

随机推荐

  1. ASP.NET中application对象的用法

    一.Application对象的理解 Application对象在实际网络开发中的用途就是记录整个网络的信息,如上线人数.在线名单.意见调查和网上选举等.在给定的应用程序的多有用户之间共享信息,并在服 ...

  2. iOS7 修改导航系统默认返回按钮文字及颜色

    //iOS7 修改系统默认返回按钮文字及颜色 UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithTitle:@"返" ...

  3. 异步刷新tableView

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ [self.tableView rel ...

  4. 图像分割之(五)活动轮廓模型之Snake模型简介

    在"图像分割之(一)概述"中咱们简单了解了目前主流的图像分割方法.下面咱们主要学习下基于能量泛函的分割方法.这里学习下Snake模型简单的知识,Level Set(水平集)模型会在 ...

  5. ie无法下载 无法打开该internet站点.请求的站点不可用或无法找到.请稍后重试

    PK找的: http://support.microsoft.com/kb/316431/ 症状 ... 如果服务器使用着安全套接字层 (SSL) 并且已将下面的两个 HTTP 标头或其中的一个添加到 ...

  6. axis2 WebService的发布与调用

    1:准备:    JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html    e ...

  7. 零售业数据分析的媒介——BI工具

    当你需要从一堆复杂庞大的数据中分析出有用的信息和结论的时,想必你一定觉得力不从心:数据的冗余使得你分析起来困难重重,怎么办呢?今天我们就来讲一下使数据分析变得简单有效的“手段”. 对于当今的中国零售行 ...

  8. iOS小技巧

    键盘透明: textField.keyboardAppearance = UIKeyboardAppearanceAlert; 状态栏的网络活动风火轮是否旋转: [UIApplication shar ...

  9. linux系统服务名称

    服务列表(按字母顺序排列) 服务名 必需(是/否) 用途描述 acon 否 语言支持 acpi 否 电源管理 acpid 否 监听精灵进程 adsl 否 内部ADSL开关控制 alsa 否 高级Lin ...

  10. ON_NOTIFY_REFLECT : Message Reflection for Windows Controls

    转自: https://msdn.microsoft.com/en-us/library/eeah46xd.aspx TN062: Message Reflection for Windows Con ...