在保存的时候如果使用以下方法就会报错

解决:使用merge()方法就可以解决异常。。。

merge()方法的解释:

传入的参数在数据库中不存在的时候会添加一条数据,根据主键判断已存在的时候会更新这条数据,merge在执行更新之前会将两个标识符相同的对象进行合并,具体合并的方向是向数据库中存在的记录合并。

注意:merge方法在执行之前都回去缓存中找是不是有相应的记录,也就是会有一条select语句,执行改语句的目的是为了判断该对象是否被修改了。而update就不管这些,直接就一条update语句。

具体和session有什么关系待以后再研究。

最新文章

  1. MyBatis4:动态SQL
  2. 简单C程序生成的汇编代码分析
  3. BZOJ 3110 树套树 && 永久化标记
  4. 【codevs1690】开关灯 线段树 区间修改+区间求和(标记)
  5. NOIP 2006 解题报告
  6. 网页上下载文件提示框(vb.net)
  7. windows7 下的日期没有internet时间的选项卡
  8. android 数据库中的事务_银行转账示例
  9. Android下得到APK包含信息
  10. leetcode345——Reverse Vowels of a String(C++)
  11. iOS AFNetWorking源码详解(一)
  12. Windows server 2008系统下FTP服务器的安装
  13. :before :after
  14. Oracle存储包存储及案例
  15. stm32中断优先级
  16. API和schema开发过程问题汇总
  17. 使用js做创建图片及删除图片 若有什么不对或不完整的地方,请大家提出来,谢谢
  18. 应用AI芯片加速 Hadoop 3.0 纠删码的计算性能
  19. bower failed: UNABLE_TO_VERIFY_LEAF_SIGNATURE
  20. 利用CE手动破解百度云下载限速!

热门文章

  1. 树讲解——牧场行走( lca )
  2. [LibreOJ β Round #4] 子集
  3. 浅析 JavaScript 中的闭包(-------------------------------------------)
  4. 邁向IT專家成功之路的三十則鐵律 鐵律十六:IT人交友之道-單純
  5. VS中的 MD/MT设置 【转】
  6. Maven plugin提示错误“Plugin execution not covered by lifecycle configuration”
  7. eclipse中文凝视字体太小解决方法
  8. 《图论》——广度优先遍历算法(BFS)
  9. Ubuntu 登陆异常-输入正确的密码后还会返回到登陆界面的问题
  10. Logical Volume Manager (Linux)