Оба обработчика являются частью цикла записи объекта, но срабатывают в разные моменты:
Ключевое различие — возможность отменить запись:
Отказ. Если установить Отказ = Истина, запись будет отменена и объект не попадёт в базуОтказ уже нельзя — данные записаны. Однако можно инициировать откат транзакции, например, намеренно вызвав исключениеОба обработчика выполняются внутри одной транзакции. Это означает, что если в ПриЗаписи произойдёт необработанное исключение, вся транзакция откатится, включая саму запись объекта. Этим и объясняется, почему ПриЗаписи используют для операций, которые должны быть атомарны с записью основного объекта.
Обработчик ПередЗаписью вызывается до фактической записи объекта в базу данных, и в нём можно отменить запись, установив Отказ = Истина.
Новый — ещё не проверен сообществом
Вы