JPA Hibernate en cascada de muchos a muchos

Estoy usando JPA 2.0 e hibernar. Tengo una clase de usuario y una clase de grupo de la siguiente manera:

public class User implements Serializable {
    @Id
    @Column(name="USER_ID")
    private String userId;

    @ManyToMany
    @JoinTable(name = "USER_GROUP",
               joinColumns = {
                   @JoinColumn(name = "GROUP_ID")
               },
               inverseJoinColumns = {
                   @JoinColumn(name = "USER_ID")
               }
    )
    private Set<Group> groupList;

    //get set methods
}

public class Group
{
    @Id
    @Column(name="GROUP_ID")
    private String groupId;

    @ManyToMany(mappedBy="groupList")
    private Set<User> memberList;
    //get set methods
}

Y luego, creo un usuario y un grupo y luego asigno el usuario al grupo.

Lo que quiero tener es que cuando elimine el grupo, el grupo se eliminará (por supuesto) y toda la relación usuario-grupo que tenga el grupo se eliminará automáticamente de la tabla de unión USER_GROUP pero el usuario en sí no se eliminará de Mesa de usuario.

Con el código que tengo arriba, solo la fila en la tabla GROUP se eliminará cuando elimine un grupo y el usuario todavía tendrá una entrada al grupo eliminado en la tabla de unión USER_GROUP.

Si pongo cascada en la clase Usuario así:

@ManyToMany(cascade=CascadeType.ALL)
@JoinTable(name = "USER_GROUP",
joinColumns =
{
    @JoinColumn(name = "GROUP_ID")
},
inverseJoinColumns =
{
    @JoinColumn(name = "USER_ID")
})
private Set<Group> groupList;

¡Cuando elimine el grupo, el usuario también será eliminado!

¿Hay alguna forma de lograr lo que quiero?

Respuestas a la pregunta(3)

Su respuesta a la pregunta