[jboss-user] [EJB 3.0] - Re: Using own Classes as member for ManyToMany-Assotiations

DrGorb do-not-reply at jboss.com
Sat Feb 9 08:56:57 EST 2008


After reading your post (I had the same problem) I tried every descendant of java.util.Collection. It worked only with java.util:collection itself.

the nice thing is that without specifying anything, JBoss created a link table between the two entities. Which is what should be done.

example:

  /**
   * @return the roles
   */
  @ManyToMany( 
      targetEntity=Role.class, 
      cascade={CascadeType.PERSIST, CascadeType.MERGE} 
      ) 
  public Collection < Role > getRoles() {
    if(roles == null) {
      roles = new LinkedList < Role >();
    }
    return roles;
  }
  
  /**
   * this setter must exist for hibernate but be private because we don't want anyone to use it
   * @param roles the roles to set
   */
  @SuppressWarnings("unused")
  private void setRoles(Collection < Role > roles) {
    this.roles = roles;
  }

When the Roles are read from the database, the Class used for the roles Collection is org.hibernate.collection.PersistentBag

It would actually be nice to be able to choose a type that disallows duplicates in the list. Because now I have to catch the exception upon "persist".

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

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4128070



More information about the jboss-user mailing list