Comment lot à supprimer à l'aide bulkUpdate

J'ai une commune de l'Utilisateur /Rôle de l'installation, avec un user_role de la table de jointure. Je suis en train d'utiliser le Printemps HibernateTemplate à la messe de supprimer tous les utilisateurs bloqués comme ceci:

getHibernateTemplate().bulkUpdate("delete from User where locked=?", true);

Si l'utilisateur supprimé n'a pas les rôles (pas d'enregistrement dans la user_role tableau), alors tout va bien; toutefois, si l'utilisateur a un rôle d'enregistrement, j'obtiens l'erreur suivante:

contrainte d'intégrité violé l'enfant
enregistrement

Rôles sont définis dans User.java comme ceci:

@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "user_role", joinColumns = { @JoinColumn(name = "user_id") }, inverseJoinColumns = @JoinColumn(name = "role_id"))
private Set<Role> roles = new HashSet<Role>();

Alors, comment puis-je lot de supprimer des utilisateurs même si un utilisateur a des enregistrements enfants? Merci!

OriginalL'auteur SamS | 2009-04-09