前提:将一张表的部分数据导入另一张表,且删除原来表中这部分数据。首先查询出来要导入的数据,然后for循环去插入新表中,且删除原来表中的数据;为了保证部分数据出错,只回滚部分数据,所以for循环一条一条导入和删除;查询和for循环没有用事务,只有导入和删除用了事务。

controller类
public void xxx(){获取到要删除的集合transitDatasfor (TransitData transitData : transitDataList) {BeanUtils.copyProperties(transitData,transitDataCopy);copyDataLogic.copyTransit(transitData,transitDataCopy);}
}
service类 ,如果在service类中查询要删除的集合transitDatas的话,下面这段代码的事务就用不上了,因为this调用不会进入切面。
@Transactional(readOnly = false,transactionManager = "transactionManager",rollbackFor = {Throwable.class})
public void copyTransit(){transitDataCopyDao.create(transitDataCopy);transitDataCopyDao.delete(transitData);
}

删除的时候报异常:

  1. java.lang.IllegalArgumentException: Removing a detached instance
    原因:删除的时候是用这个对象来删除的,但是这个对象的创建是在事务外面的,也就是这个对象不在当前session中。所以报错。

java.lang.IllegalArgumentException: Removing a detached instance相关推荐

  1. Removing a detached instance

    常用数据库表的删除办法,一般都会在DAO类中提供delete.如下例: public class UnitDAO implements IUnitDAO {         private Entit ...

  2. java.lang.IllegalArgumentException: xxx

    非法参数异常 IllegalArgumentException java.lang.IllegalArgumentException: Sheet index (1) is out of range ...

  3. java.lang.IllegalArgumentException: object is not an instance of declaring class 的解决办法

    问题概述 在项目开发的工作中,需要对数据报表进行导入导出的操作,为了方便快捷,使用的了EasyPOI,EasyPOI就像其名称一样,让报表操作的更容易些,它主要对POI进行了再封装,不像以前使用POI ...

  4. java.lang.IllegalArgumentException: object is not an instance of declaring class

    今天在使用反射的时候,出现了java.lang.IllegalArgumentException: object is not an instance of declaring class错误-具体是 ...

  5. java.lang.IllegalArgumentException异常

    问题概述 在项目开发的工作中,需要对数据报表进行导入导出的操作,为了方便快捷,使用的了EasyPOI,EasyPOI就像其名称一样,让报表操作的更容易些,它主要对POI进行了再封装,不像以前使用POI ...

  6. 报错:The class java.lang.IllegalArgumentException may be caused by the wrapped ProcessingEnvironment

    报错 使用IntelliJ IDEA社区版在本地启动某个sofa boot项目时报如下错误 java: java.lang.IllegalArgumentException java: The cla ...

  7. The class java.lang.IllegalArgumentException may be caused by the wrapped ProcessingEnvironment obje

    idea2021.1.2启动的时候报错 java: java.lang.IllegalArgumentException java: The class java.lang.IllegalArgume ...

  8. ES启动报错:Caused by: java.lang.IllegalArgumentException: can‘t add node {es2}

    错误一: [2022-04-01T19:49:21,583][INFO ][o.e.c.c.JoinHelper ] [es2] failed to join {es3}{CFmzQaz2Rru5Tk ...

  9. 处理Activity#onResume()遇到java.lang.IllegalArgumentException诡异异常

    记录处理Android 较为诡异的问题,Activity#onResume()发生IllegalArgumentException 异常. 1.Activity#onResume()异常 最近在处理B ...

最新文章

  1. wireshark协议解析器 源码分析 封装调用
  2. python中的sys.argv是什么?(控制台参数传递、控制台传参)
  3. ASP.NET 2.0 - 选用DataSet或DataReader
  4. jenkins~集群分发功能和职责处理
  5. 网络编程常用接口的内核实现----sys_listen()
  6. python 定义变量_python-003-变量
  7. oracle 中查询当前用户可以看到的表名、表对应的所有字段
  8. Java伪代码之大道至简读后感
  9. stata导入数据问题
  10. HDU 2296 Ring -----------AC自动机,其实我想说的是怎么快速打印字典序最小的路径...
  11. 使用mptt在easyui中显示树形结构
  12. Json、String、JavaBean相互转换
  13. 计算机毕业设计论文题目分享
  14. 《MMD》制作极乐净土
  15. hi3519模组测试
  16. 【论文阅读】Attention-based Deep Multiple Instance Learning
  17. 一个成年自动驾驶公司的底气,都是“前装量产”给的
  18. html超链接本地文件为什么打不开,为什么word文件的本地超链接打不开呢
  19. JavaScript不清不楚之Array.isArray
  20. MyBatis 多对多关联映射

热门文章

  1. 泰国监管机构放宽ICO政策
  2. 带照片捕捉功能的ESP32-CAM 无源红外传感器运动检测器
  3. 零时科技 | Discover 闪电贷攻击事件分析
  4. 集成式单片机外部模块驱动编写详解——AD5689为例
  5. Nexus 安装和部署
  6. 常用SQL语句“一文足以”
  7. C++ 进程退出后,子线程还会存在吗?
  8. 芯片验证漫游指南_苹果愁哭,intel放弃,基带芯片就这么难做?
  9. 罗辑思维CEO脱不花:工作和成长,这是我的121条具体建议
  10. 阿里云 OCR身份证识别Api 使用(一)