我有一个方法实例化同一个实体的两个对象,例如:
MyObj entity = this.search(id);
MyObj entityNew = new MyObj();
BeanUtils.copyProperties(entity, entityNew, "id");
在该方法的过程中,我更新了'entity'对象的一些字段并命令对其进行更新,使用'entityNew'我将其注册为数据库中的新记录。
但是它抛出了以下异常:
org.hibernate.HibernateException: Found shared references to a collection: br.com.meuprojeto.model.TermoDoacaoEquipamento.TermoDoacaoEquipamentoEntity.implementos
方法有人知道怎么解吗?经过一些研究,我看到这是由于实体A将相同的值设置为实体b的集合造成的,但我不知道如何解决这个问题,我只是与一个实体一起工作。(假名)。
我想是豆子的原因。它是单例类型,因为它们有相同的引用,所以很容易混淆。你可以试试这样做:
MyObj entityNew = (MyObj) BeanUtils.cloneBean(entity);