В настоящее время я работаю с @PostPersist
и @PostUpdate
, и в этих триггерах я сохраняю дополнительные сущности. Вопрос в том, являются ли эти триггеры в одной и той же транзакции, и если нет, то можно ли ее принудительно заставить?
Для меня это работает так.
Пока я просматривал журналы, транзакция не существует (она запускается непосредственно перед запуском триггера), что мешает мне (без REQUIRES_NEW
для сохраняющегося метода из вложенного bean) сохранить дополнительные объекты в базе данных.
Атрибут REQUIRED
полностью игнорируется, а атрибут MANDATORY
не генерирует исключения.
Может ли быть проблема с JUnit (поскольку я нахожусь в dev-фазе и не тестировал поведение на полном env.)?
Если расширение транзакции по этим триггерам невозможно, как обеспечить, чтобы, если откат происходит до @PostPersist
и @PostUpdate
, эти операции также будут отменены.
Заранее спасибо за любую помощь,
С уважением, Р.