org.mise en veille prolongée.loader.MultipleBagFetchException: impossible d'extraire simultanément plusieurs sacs

Voici mon code Ici, je suis à l'aide de plusieurs listes d'extraire des données à partir de la base de données.
Sur l'extraction de données à partir de requête hql il montre d'exception.

Classe Pojo

public class BillDetails implements java.io.Serializable {

private Long billNo;
//other fields
@LazyCollection(LazyCollectionOption.FALSE)
private List<BillPaidDetails> billPaidDetailses = new ArrayList<BillPaidDetails>();
private Set productReplacements = new HashSet(0);
@LazyCollection(LazyCollectionOption.FALSE)
private List<BillProduct> billProductList = new ArrayList<BillProduct>();
//getter and setter
}

hmb.xml fichier

<class name="iland.hbm.BillDetails" table="bill_details" catalog="retail_shop">
        <id name="billNo" type="java.lang.Long">
            <column name="bill_no" />
            <generator class="identity" />
        </id>
 <bag name="billProductList" table="bill_product" inverse="true" lazy="false" fetch="join">
            <key>
                <column name="bill_no" not-null="true" />
            </key>
            <one-to-many class="iland.hbm.BillProduct" />
        </bag>
        <bag name="billPaidDetailses" table="bill_paid_details" inverse="true" lazy="false" fetch="select">
            <key>
                <column name="bill_no" not-null="true" />
            </key>
            <one-to-many class="iland.hbm.BillPaidDetails" />
        </bag>
        <set name="productReplacements" table="product_replacement" inverse="true" lazy="false" fetch="join">
            <key>
                <column name="bill_no" not-null="true" />
            </key>
            <one-to-many class="iland.hbm.ProductReplacement" />
        </set>
    </class>

Requête Hql

String hql = "select distinct bd,sum(bpds.amount) from BillDetails as bd "
                    + "left join fetch bd.customerDetails as cd "
                    + "left join fetch bd.billProductList as bpd "
                    + "left join fetch bpd.product as pd "
                    +"left join fetch bd.billPaidDetailses as bpds "
                    + "where bd.billNo=:id "
                    + "and bd.client.id=:cid ";

Je suis en train requête suivante pour récupérer les données à partir de la base de données, mais c'est en montrant
org.hibernate.loader.MultipleBagFetchException: cannot simultaneously fetch multiple bags
Comment faire pour résoudre ce

Avez-vous essayé de changer vos Listes de Jeux?
Cet article peut vous aider: blog.eyallupu.com/2010/06/...
Quel est le nom de l'id unique de la propriété sur BillProduct?
Place de la Liste sont des Ensembles de travail. Mais je veux faire avec liste
Avez-vous vraiment besoin d'utiliser des listes?

OriginalL'auteur xrcwrn | 2014-07-10