@Entity public class A implements Serializable { @ManyToMany public Collection getRoleB() { ... } @Entity public class B implements Serializable { @ManyToMany(mappedBy = "roleB") public Collection getRoleA() { ... }