zoukankan      html  css  js  c++  java
  • 工作笔记系列-报主键列重复

      遇到的第一个问题:

            页面保存数据的时候总是报主键列重复的问题

         问题解决的过程和思路:

      我们在service层使用了事物:

         

      Service

        Transacation

          Dao

            我在这个位置使用循环execute操作了多个对象

          endDao

         endTransacation   //这里报错

      endService

      

      总结:

      因为dao层执行execute方法的时候  被事物所包裹,所以它会将这个对象先放到session级别的缓存。 

         我execute了两次   它就存了两个对象。    这两个对象的主键列一样.

      这样 在提交事务的时候:   两个对象的主键列是一样的。   所以就报了主键重复的错误.

      解决方案:

      在execute完一次后调用flush方法. 这个方法将会把session级别的缓存对象保存到数据库.  下次再操作同一个对象就不会报错了。

  • 相关阅读:
    POJ 2154
    POJ 1286
    Polycarp's problems
    Greedy Change
    Goods transportation
    Ugly Problem
    Happy Matt Friends
    Dense Subsequence
    Ray Tracing
    Batch Sort
  • 原文地址:https://www.cnblogs.com/dingzb/p/3677844.html
Copyright © 2011-2022 走看看