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

Les classes d'entité

Client

       @Entity
        @Table(name="Custumer")
        public class Custumer implements Serializable {

            @Id
            @GeneratedValue(strategy = GenerationType.IDENTITY)
            @Column(name="id")
            private Long id;
            @Column(name="name",unique = true)
            private String name;
            @Column(name="Email",unique = true)
            private String Email;
            @Column(name = "Coins")
            private Double coins;

            @ManyToMany(fetch = FetchType.EAGER,cascade = CascadeType.ALL)

            private List<ShippingAdress> shippingAdress = new ArrayList<ShippingAdress>();


            @OneToMany( fetch = FetchType.EAGER, mappedBy = "custumer", cascade = CascadeType.ALL,orphanRemoval = true)

            private List<Order> orders= new LinkedList<Order>();
//...

ShippingAdress

    @Entity
        @Table(name="ShippingAdress")
        public class ShippingAdress implements Serializable {

            @Id
            @GeneratedValue(strategy = GenerationType.IDENTITY)
            @Column(name="id")
            private Long id;
            @Column(name="postCode")
            private String PostCode;
            @Column(name="street")
            private String street;
            @Column(name="house")
            private String house;
            @Column(name="flat")
            private String flat;

            @ManyToMany(mappedBy = "shippingAdress")
            private List<Custumer> custumers = new LinkedList<Custumer>();
    //...

Éléments

@Entity
    @Table(name="Items")
    public class Items implements  Serializable,Comparable<Items>  {

        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)

        @Column(name="id")
        private Long id;
        @Column(name="name", unique = true)
        private String name;
        @Column(name="price")
        private double price;
        @Column(name="count")
        private int count;

        @OneToMany(mappedBy = "item", cascade = CascadeType.ALL,orphanRemoval = true)
        List<Order> orders = new LinkedList<Order>();
    //...

CustomerOrder

@Entity
@Table(name = "CustumerOrder")
public class Order implements Serializable {
    @Id
    @ManyToOne
    private Custumer custumer;


    @Id
    @ManyToOne

    private Items item;

Quand j'essaye de mettre toute commande d'un client particulier

  public List<Order> getOrderByCustumerId(Custumer custumer) {

        Criteria criteria = session.createCriteria(Order.class);
        List<Order> res = (List<Order>) criteria.add(Restrictions.eq("custumer",custumer)).list();

        return res;
    }

Je suis confronté à l'exception suivante:

org.hibernate.loader.MultipleBagFetchException: cannot simultaneously fetch multiple bags

Si supprimer fetch = FetchType.EAGER de l'un des endroits qu'ils existaient
obtenir le suivant:
(censé supprimé de la clientèle )

   org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: org.CoinsShop.DataBase.DataSets.Custumer.shippingAdress, could not initialize proxy - no Session

relations en DB

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

Jetez un oeil à ce post stackoverflow.com/questions/17566304/...

OriginalL'auteur ketchyn | 2016-05-17