Добрый день!
В Jmix для Сущности доступны механизмы обработки событий: Lifecycle callbacks и Event Listeners.
Мне необходимо при создании/изменении одной сущности гарантировано создать/изменить другую сущность и чтобы при возникновении ошибки изменения второй сущности изменения первой сущности не выполнялись, другими словами все изменения должны быть в одной транзакции.
Подскажите, пожалуйста, какой механизм лучше использовать для решения моей задачи?
С виду вам подойдет EntityChangedEvent
.
Отработает как раз до камита и все изменения, которые вы сделаете в обработчике - тоже будут делаться в этой же транзакции.
В документации есть пример по похожему сценарию.
2 симпатии