Задайте себе вопрос: к какому домену относится эта работа? Если это требуется для обеспечения целостности данных, то это, очевидно, проблема СУБД, и, вероятно, ее лучше всего там решить. Если это часть бизнес-сферы, а не данные, или может потребоваться информация или обработка, недоступная или естественная для СУБД, вероятно, лучше сделать ее внешней.
Я бы сказал, используйте лучший инструмент для работы. Работа с базой данных с использованием любых функций, которые она предлагает, часто приятна. Например, таблица журналов, в которой хранятся «снимки» обновлений состояния записей в другой таблице, - это то, к чему я обычно стремлюсь иметь триггер, снимая эту ответственность с рук моего приложения.
Но это то, что доступно практически в любой СУБД. Существует вероятность того, что другие базы данных не будут предлагать требуемые вам возможности планирования заданий. Если возможно, что когда-нибудь вы перейдете на другую СУБД, вы все равно будете вынуждены делать это на Java. В этом преимущество подхода Java: вы получаете функциональность независимо от базы данных. Если вы используете чистый JDBC со стандартными запросами SQL, у вас есть полностью переносимое решение.
Оба подхода кажутся действительными. Подумайте, что вызывает наименьшую работу и заботы. Если это сделано в Java, вам нужно убедиться, что процесс запущен или запланирован. Это какая-то внешняя зависимость. Если он находится в базе данных, вы будете уверены, что работа выполнена, пока работает БД.