Я вижу, что вы используете интерфейс JPA (EntityManager), а не Hibernate Session.Но поскольку вы пометили вопрос с помощью Hibernate, я предполагаю, что это ваша реализация JPA.Исходя из этого предположения, вы можете использовать аннотацию OnDelete в спящем режиме
@Entity
public class RolesMap {
@org.hibernate.annotations.OnDelete(action = org.hibernate.annotations.OnDeleteAction.CASCADE)
private Users users;
}
. В спящей версии, которую я использую (5.1.1-FINAL), это приводит к изменению схемы DB, когда ForeignKey to Users добавляется с"ON DELETE CASCADE"
ALTER TABLE roles_map
ADD CONSTRAINT fkm5m5bko6kbt1q4gfibylhttaw FOREIGN KEY (users_id)
REFERENCES users(id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE CASCADE;
Когда запись удалена из таблицы пользователей, соответствующие записи из role_map также будут удалены.