zoukankan      html  css  js  c++  java
  • 异常描述:hibernate懒加载中,用OpenSessionInViewFilter解决之后,同时对一个collection创建两个session访问导致异常(Illegal attempt to associate a collection with two open sessions)

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

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

    merge()方法的解释:

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

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

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

  • 相关阅读:
    pandas 和反射联合使用
    反射
    获取Cookie 遇到的问题
    接口自动化之 问题
    接口自动化之 数据库操作
    logging日志模块
    数据驱动 --ddt
    logging--日志打印模块
    APP专项测试5 --PFS
    Monkey 参数
  • 原文地址:https://www.cnblogs.com/AndrewXu/p/6818237.html
Copyright © 2011-2022 走看看