не удалять каскад пользователя при удалении группы.

ользую JPA 2.0 и спящий режим. У меня есть класс пользователя и класс группы следующим образом:

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
}

Затем я создаю пользователя и группу, а затем назначаю пользователя группе.

То, что я хочу получить, - это когда я удаляю группу, группа будет удалена (конечно), и все отношения группы пользователей, которые есть у группы, будут автоматически удалены из таблицы присоединения USER_GROUP, но сам пользователь не будет удален из ПОЛЬЗОВАТЕЛЬСКИЙ стол.

С кодом, который у меня есть выше, только одна строка в таблице GROUP будет удалена, когда я удаляю группу, и у пользователя все еще будет запись в удаленной группе в таблице присоединения USER_GROUP.

Если я помещу каскад в класс User следующим образом:

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

Когда я удаляю группу, пользователь также будет удален!

Есть ли способ добиться того, чего я хочу?

Ответы на вопрос(3)

Ваш ответ на вопрос