JPA установил для поля TIMESTAMP значение CURRENT_TIMESTAMP при сохранении - PullRequest
6 голосов
/ 26 августа 2009

У меня есть столбец TIMESTAMP в таблице, который имеет нулевое значение при первоначальной вставке записи. Я хотел бы обновить значение до текущего времени. Моя сгенерированная сущность имеет метод set для поля как таковой:

setCloseDate(Timestamp closeDate)

Однако я не хочу генерировать / указывать метку времени из кода Java. Есть ли способ аннотировать атрибут для указания использования текущего времени на уровне базы данных при сохранении сущности?

Если нет, то какова будет хорошая стратегия для выполнения такого обновления?

Под прикрытием запрос, который я хочу выполнить, выглядит так:

update CASE_FILE set CLOSE_DATE=CURRENT_TIMESTAMP where ID=1

Я только начинаю с JPA ... так что я мог упустить что-то довольно очевидное здесь. Спасибо!

1 Ответ

7 голосов
/ 02 октября 2013

в вашем классе сущностей jpa используйте следующий код в текущем столбце отметки времени

@Column(name = "timestamp", nullable = false, updatable = false, insertable = false, columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
public Timestamp timestamp;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...