用entityManager保存数据时报错如下

identifier of an instance of xx.entity was altered from xxKey@249e3cb2 to xxKey@74e8f4a3; nested exception is org.hibernate.HibernateException: identifier of an instance of xxentity was altered from xxKey@249e3cb2 to xxKey@74e8f4a3

一共存了三张表的数据,使用了事务,前面两张表存各存1条数据,最后一张表存两条数据。执行完成后报上面的错误。后来把最后一张表实体上的联合主键去掉不报错,但最后一张表只保存成功1条数据

太奇怪了。怀疑是事务引起,检查了是使用的

 @Transactional(propagation = Propagation.SUPPORTS, rollbackFor = Exception.class)

写了单元测试,单独插入最后一张表两条数据可以成功插入。

最后找到问题关键,是因为最后一张表的其中一条数据是从数据库里读取出来的,另外一条是新插入的。把读取的数据copy到新new的实体后问题解决。

原因分析 处于Persistent状态的实体的id, hibernate是不允许修改后双保存回去。

最新文章

  1. T-SQL字符串相加之后被截断的那点事
  2. sqlServer去除字段中的中文
  3. UVALive 6908---Electric Bike(DP或记录型深搜)
  4. 雷克萨斯-RC
  5. struts2中用xml配置文件去验证填写信息
  6. Tomcat JSP提交参数中文乱码问题解决
  7. 为网站添加网址图标favicon.ico
  8. 远程mysql出现ERROR 1130 (HY000): Host '172.17.42.1' is not allowed to connect to this MySQL server
  9. What is therelationship between @EJB and ejb-ref/ejb-local-ref?
  10. cocos2dx3.0 超级马里奥开发笔记(两)——正确的规划游戏逻辑
  11. 《算法导论》读书笔记之排序算法—Merge Sort 归并排序算法
  12. 【Hibernate步步】--一对一映射双向关联具体解释(两)
  13. java hascode
  14. iOS tableView刷新
  15. 纯css提示效果 提示层
  16. 20175205 2018-2019-2 《Java程序设计》第五周学习总结
  17. ajax入门学习
  18. ABP框架系列之十:(Application-Services-应用服务)
  19. java—单例设计模式
  20. MySQL常用操作汇编

热门文章

  1. [转] js对键盘输入事件绑定到特定按钮。
  2. oracle运维(持续更新)
  3. mount 挂载
  4. 在阿里云 既php和mysql装好之后,如何安装zabbix
  5. scip 练习2.18
  6. volatile的使用及其原理
  7. 用python输出1-100之间所有的质数
  8. 使用vue-cli脚手架和vue-router搭建项目(一)
  9. lazyload懒加载和swiper轮播懒加载的用法
  10. centos7构建kylo-0.10.1