Удаление ManyToMany сущностей
От: Аноним  
Дата: 02.07.13 06:00
Оценка:
Использую Hibernate 4.1, Spring Data JPA 1.3.1. Сущности описаны так:

class User {
    @ManyToMany(cascade = CascadeType.ALL)
    @JoinTable(name = "event_user")
    private Set<Event> events;
}

class Event {
    @ManyToMany(cascade = CascadeType.ALL, mappedBy = "events")
    private Set<User> users;
}


Задача: при удалении User удалить все event где нет других User.

Чего только не пробовал, но никак не удаляются Event. Результат один, User удаляется из таблицы event_user связь тоже удаляется.

UserRepository userRepository; // extends JpaRepository<User, Long>
EventRepository eventRepository; // extends JpaRepository<Event, Long>
...

for (Event event : user.getEvents()) {
    event.getUsers().remove(user);
    if (event.getUsers().isEmpty()) {
        eventRepository.delete(event);
    } else {
        eventRepository.save(event);
    }
}
userRepository.delete(user);


Подскажите что я упускаю.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.