Обработчик событий репозитория не вызывается после каскадного удаления - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть два класса.Первый - Advertisement, а второй - Image.Класс Advertising содержит список изображений.Этот список имеет следующие пометки:

@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)

Я не хочу запускать некоторые действия (удаление изображения с сервера), когда изображение удаляется из базы данных.Я не называю репозиторий изображений для удаления изображений, которые удаляются при удалении рекламы каскадом.Я создаю обработчик событий репозитория:

@RepositoryEventHandler(Image.class)
public class ImageEventHandler {

@Autowired
ImageStorageService imageStorageService;

@HandleAfterDelete
public void handleImageAfterDelete(Image image){
    String imageName = image.getName();
    System.out.println("**********************************");
    imageStorageService.deleteFile(imageName);
}
}

Мой обработчик событий вообще не вызывается при удалении изображения.

Любая идея о том, в чем может быть проблема.

1 Ответ

0 голосов
/ 18 декабря 2018

У меня также были проблемы с EventHandler в прошлом.Моя ошибка заключалась в том, чтобы не создавать соответствующий компонент, описанный здесь: https://www.baeldung.com/spring-events

Может быть, это тоже ваша проблема.

Привет, Матиас

...