0 Replies Latest reply on Jul 19, 2007 7:10 AM by taggat

    Initializing hibernate exception

      Hi,

      I have an application that uses EJB3 and hence hibernate.

      As we are finding performance issues using ejb3 we are moving to directly accessing hibernate directly.

      I am testing upgrading our installation from jboss 4.0.3SP1 to 4.2.0GA and where we had code to get the hibernate sessions setup using our entities with the following code

       try {
       AnnotationConfiguration ac = new AnnotationConfiguration();
       Filter[] filters = setFilter();
       setAnnotatedClasses(ac, filters);
       sessionFactory = ac.configure().buildSessionFactory();
       break;
       } catch (Throwable ex) {
       // Log exception!
       log.error("Initial SessionFactory creation failed. Message = " + ex.getMessage(), ex);
       //throw new ExceptionInInitializerError(ex);
       }
      
      


      this used to work ok for setting up the hibernate session to read all of our existing entities and settings. under jboss 4.2.0GA it comes up with the following exception.


      org.hibernate.HibernateException: cannot simultaneously fetch multiple bags
       at org.hibernate.loader.BasicLoader.postInstantiate(BasicLoader.java:66)
       at org.hibernate.loader.entity.EntityLoader.<init>(EntityLoader.java:75)
       at org.hibernate.loader.entity.EntityLoader.<init>(EntityLoader.java:43)
       at org.hibernate.loader.entity.EntityLoader.<init>(EntityLoader.java:33)
       at org.hibernate.loader.entity.BatchingEntityLoader.createBatchingEntityLoader(BatchingEntityLoader.java:103)
       at org.hibernate.persister.entity.AbstractEntityPersister.createEntityLoader(AbstractEntityPersister.java:1748)
       at org.hibernate.persister.entity.AbstractEntityPersister.createEntityLoader(AbstractEntityPersister.java:1752)
       at org.hibernate.persister.entity.AbstractEntityPersister.createLoaders(AbstractEntityPersister.java:2982)
       at org.hibernate.persister.entity.AbstractEntityPersister.postInstantiate(AbstractEntityPersister.java:2975)
       at org.hibernate.persister.entity.SingleTableEntityPersister.postInstantiate(SingleTableEntityPersister.java:690)
       at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:290)
       at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294)
       at com.flytxt.global.data.jmx.HibernateService.<clinit>(HibernateService.java:37)
      


      does anyone know how to get around this ?