Hello,

I don't know why it will raise the "Cannot simultaneously fetch multiple bags" 
exception, please help and teach me how can I solve the problem?


  | @Entity
  | @Table(name="EventNotes")
  | public class Notes implements Serializable {
  |     public static final long serialVersionUID = 1L;
  |     
  |     protected long id;
  |     protected User creator;
  |     
  |     
  |     /**
  |      * @return the creator
  |      */
  |     @ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )
  |     @JoinTable(name="USER_NOTES",
  |             joinColumns = @JoinColumn(name="NOTES_ID"),
  |             inverseJoinColumns = @JoinColumn(name="USER_ID")
  |         )
  |     public User getCreator() {
  |     
  |             return this.creator;
  |     }
  |     
  |     /**
  |      * @param creator the creator to set
  |      */
  |     public void setCreator(User creator) {
  |     
  |             this.creator = creator;
  |     }
  |     
  |     
  |     
  |     /**
  |      * @return the id
  |      */
  |     @Id
  |     @GeneratedValue(strategy = GenerationType.AUTO)
  |     public long getId() {
  |     
  |             return this.id;
  |     }
  |     
  |     /**
  |      * @param id the id to set
  |      */
  |     public void setId(long id) {
  |     
  |             this.id = id;
  |     }
  | 
  |             
  | }
  | 


  | @Entity
  | @Table(name="USERS")
  | public class User implements Serializable {
  |     public static final long serialVersionUID = 1L;
  | 
  |     private String username;
  | 
  |     private String password;
  |     
  |     
  |     private String firstName;
  |     private String lastName;
  |     private String displayName;
  |     private String gender;
  |     
  | 
  |     private boolean activate;
  |     
  |     private Collection<Role> roles = new ArrayList<Role>();
  |     private Collection<Group> groups = new ArrayList<Group>();
  |     
  | 
  | 
  | 
  |     @Transient
  |     public boolean isActivate() {
  |             return activate;
  |     }
  |             
  |     
  |     public boolean getActivate() {
  |             return activate;
  |     }
  | 
  |     public void setActivate(boolean activate) {
  |             this.activate = activate;
  |     }
  | 
  |     public String getPassword() {
  |             return password;
  |     }
  | 
  |     public void setPassword(String password) {
  |             this.password = password;
  |     }
  | 
  |     @Id
  |     //@GeneratedValue(strategy = GenerationType.AUTO)               
  |     public String getUsername() {
  |             return username;
  |     }
  | 
  |     public void setUsername(String username) {
  |             this.username = username;
  |     }
  |     
  |     
  | 
  |     public String getFirstName() {
  |             return firstName;
  |     }
  | 
  |     public void setFirstName(String firstName) {
  |             this.firstName = firstName;
  |     }
  | 
  |     public String getLastName() {
  |             return lastName;
  |     }
  | 
  |     public void setLastName(String lastName) {
  |             this.lastName = lastName;
  |     }
  |     
  |     
  |     
  | 
  |     public String getDisplayName() {
  |             return displayName;
  |     }
  | 
  |     public void setDisplayName(String displayName) {
  |             this.displayName = displayName;
  |     }
  |     
  |     
  |     
  |     
  | 
  |     public String getGender() {
  |             return gender;
  |     }
  | 
  |     public void setGender(String gender) {
  |             this.gender = gender;
  |     }
  | 
  |     @ManyToMany(cascade = {CascadeType.REMOVE}, 
  |                     fetch = FetchType.EAGER, 
  |                     targetEntity=Role.class)
  |     @JoinTable(
  |         name="USER_ROLE_LINK",
  |         [EMAIL PROTECTED](name="username")},
  |         [EMAIL PROTECTED](name="rolename")}
  |     )
  |     public Collection<Role> getRoles() {
  |             return roles;
  |     }
  |             
  |     
  |     public void setRoles(Collection<Role> roles) {
  |             this.roles = roles;
  |     }
  |     
  |     @Transient
  |     public void addRole(Role role) {
  |             this.roles.add(role);
  |     }
  | 
  | 
  |     @ManyToMany(cascade = {CascadeType.REMOVE}, 
  |                     fetch = FetchType.LAZY, 
  |                     targetEntity=Group.class)
  |     @JoinTable(
  |         name="USER_GROUP_LINK",
  |         [EMAIL PROTECTED](name="username")},
  |         [EMAIL PROTECTED](name="groupname")}
  |     )
  |     public Collection<Group> getGroups() {
  |             return groups;
  |     }
  | 
  |     
  | 
  |     public void setGroups(Collection<Group> groups) {
  |             this.groups = groups;
  |     }
  | 
  |     @Transient
  |     public void addGroup(Group group) {
  |             groups.add(group);
  |     }
  |     
  |     
  |     
  |     @Transient
  |     public String toString() {
  |             StringBuffer buf = new StringBuffer();
  |             
  |             buf.append("=== " + username + "===\n");
  |             buf.append(displayName + "\n");
  |             
  |             Iterator rs = roles.iterator();
  |             while(rs.hasNext()) {
  |                     Role r = (Role)rs.next();
  |                     buf.append(r);
  |             }
  |             
  |             Iterator gs = groups.iterator();
  |             while(rs.hasNext()) {
  |                     Group g = (Group)rs.next();
  |                     buf.append(g);
  |             }
  |             
  |             
  |             return buf.toString();
  |     }
  | 
  | }
  | 



  | javax.persistence.PersistenceException: org.hibernate.HibernateException: 
cannot simultaneously fetch multiple bags
  |     at 
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:737)
  |     at 
org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:121)
  |     at 
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
  |     at 
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
  |     at mo.reales.util.HibernateUtil.initFactory(HibernateUtil.java:40)
  |     at mo.reales.util.HibernateUtil.initFactory(HibernateUtil.java:35)
  |     at 
mo.reales.web.ServiceStartupListener.contextInitialized(ServiceStartupListener.java:69)
  |     at 
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
  |     at 
org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
  |     at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
  |     at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
  |     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
  |     at 
org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:904)
  |     at 
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:867)
  |     at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
  |     at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
  |     at 
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
  |     at 
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
  |     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
  |     at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
  |     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
  |     at 
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
  |     at 
org.apache.catalina.core.StandardService.start(StandardService.java:450)
  |     at 
org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
  |     at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:585)
  |     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
  |     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
  | Caused by: 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 
org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:915)
  |     at 
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:730)
  |     ... 30 more
  | 

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4045327#4045327

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4045327
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to