现象
在做更新操作的时候,我先从数据库中,通过主键id查询得到一个实体,然后将该实体的id赋值给另外一个实体。继而对新实体进行保存。
在保存过程中,出现此错误
SEVERE: 保存或者更新实体出现异常 entity=@7651f1c7
分析
我换了种思路,将前台传过来的实体内容,放到查询得到的实体中,然后保存,成功。
分析这种现象,查询得到的实体(简称old)是通过session得到的,在session关闭之前都保存在session中。此时,如果我们将前台传过来的实体(简称new),赋值给old,并对old进行保存,是成功的。因为session中old实体是唯一的。
但是,如果我们将old实体的数据赋值为new,并通过session保存new的时候,就会出现冲突。因为session中有两个id一样的实体。