Hibernate "ON UPATE DATE TURESTAMP" столбец - PullRequest
1 голос
/ 23 мая 2011

В MySQL можно создать строку TIMESTAMP, обновляемую при каждой операции обновления.Есть ли способ реализовать это для столбца с Hibernate и сопоставить его со свойством POJO?

Чтобы у меня было что-то вроде этого:

Ответы [ 2 ]

5 голосов
/ 23 мая 2011

Если вы хотите сделать это на стороне базы данных, вы можете указать пользовательское определение столбца (если схема сгенерирована Hibernate, в противном случае вам необходимо объявить его в своей схеме по желанию), и указать Hibernate, что это свойство сгенерированона стороне базы данных:

@Column(columnDefinition = "TIMESTAMP ON UPDATE CURRENT TIMESTAMP")
@Generated(GenerationTime.ALWAYS)
private Date updated; 

В качестве альтернативы, вы можете сделать это на стороне приложения, как предлагает Джигар Джоши.

3 голосов
/ 23 мая 2011

Вы можете получить это, чтобы выполнить эту вещь

@PreUpdate
protected void onUpdate() {
   updated = new Date();
}
...