报错:org.hibernate.HibernateException: identifier of an instance of XXX was altered from X to X

从https://blog.csdn.net/dly120219891208/article/details/41244449处查询。
但是注意!以上链接的博主写的代码中,
BeanUtils.copyProperties(); 方法中的参数位置写反了。

报错原因可能有两点。

第一点:hibernate的映射文件和实体类类型不一致导致。

第二点:hibernate在做 批处理 的时候,缓存中同一位置的对象不能修改,如果想修改,重新赋一个新地址的对象。
解决办法就是用spring的复制对象。

Person newChinese = new Person();//新地址对象
BeanUtils.copyProperties(oldChinese, newChinese);
//hibernate的update操作

你可能感兴趣的:(报错:org.hibernate.HibernateException: identifier of an instance of XXX was altered from X to X)