我有一个奇怪的例外。我的映射:
public class ConcreteProduct {
...
@OneToMany(mappedBy = "concreteProduct")
public Set<ExternalClient> getExternalClients() {
return externalClients;
}
....
}
public class ExternalClient {
...
@ManyToOne
@JoinColumn(name = "id_concrete_product")
public ConcreteProduct getConcreteProduct() {
return concreteProduct;
}
..
}
我想使用Hibernate操作在ConcreteProduct上进行简单的操作。我用crudDAO:
ConcreteProduct concreteProduct = (ConcreteProduct) crudDAO.getById( ConcreteProduct.class, list.get( 0 )
.getId() );
if ( concreteProduct != null ) {
finishCalculation( concreteProduct );
crudDAO.save( concreteProduct );
}
并且有一个例外:
线程中的异常&#34;线程-33&#34; org.springframework.orm.hibernate3.HibernateSystemException:找到两个相同集合的表示:pl.eo.apps.mops.product.bo.ConcreteProduct.externalClients;嵌套异常是org.hibernate.HibernateException:找到了两个相同集合的表示:pl.eo.apps.mops.product.bo.ConcreteProduct.externalClients 引起:org.hibernate.HibernateException:找到同一集合的两个表示:pl.eo.apps.mops.product.bo.ConcreteProduct.externalClients
也许重要的是整个操作是在Thread内处理的。造成这个问题的原因是什么?