#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 после его сопоставления с базой данных.