Измените Значение Столбца Через X Часов С Помощью Режима Гибернации

#sql #hibernate #jpa

Вопрос:

У меня есть перечисление, которое может быть НЕПОЛНЫМ, ОЧЕРЕДНЫМ, АКТИВНЫМ или ПОЛНЫМ. TaskStatus Если статус АКТИВЕН более 12 часов, я хочу, чтобы он истек и вернулся к НЕЗАВЕРШЕННОМУ.

До сих пор в моей Задаче сущность у меня была.

 /**
 * Automatically updates status from ACTIVE to INCOMPLETE after 12 hours.
 * Note this method does not change data in the database. It only appears
 * as INCOMPLETE to the presentation layer.
 */
@PostLoad
public void updateStatus() {
    Date twelveHoursAgo = new Date(new Date().getTime() - TimeUnit.HOURS.toMillis(12));
    if( this.status == TaskStatus.ACTIVE amp;amp; this.lastUpdated.before(twelveHoursAgo)) {
        this.status = TaskStatus.INCOMPLETE;
    }
}
 

Мне нужно решение, которое изменит статус в базе данных, а не только в объекте Java после его сопоставления с базой данных.