HibernateSystemException:找到同一集合的两个表示

时间:2012-06-14 10:44:02

标签: java hibernate mapping

我有一个奇怪的例外。我的映射:

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内处理的。造成这个问题的原因是什么?

0 个答案:

没有答案