Я не пробовал это, но я думаю, что вы могли бы создать слушателя, реализующего IFlushEventListener
. Что-то вроде:
public void OnFlush(FlushEvent @event)
{
if (!@event.Session.Transaction.IsActive)
{
throw new Exception("Flushing session without an active transaction!");
}
}
Мне не ясно (и Google не помог), когда именно вызывается OnFlush. Также может быть неявная транзакция, которая может установить IsActive в true.