трудное время, устанавливающее автоматически сгенерированное время с, в спящем режиме аннотации JPA

Если Вы - пользователь Emacs, команда re-builder позволяет Вам ввести Emacs regex и показывает на лету соответствующие строки в текущем буфере с цветами для маркировки групп. Это свободно как Emacs.

18
задан black sensei 12 November 2009 в 21:57
поделиться

1 ответ

Это не связано с Hibernate как таковым. Ваши аннотации, как указано выше, сообщают Hibernate, что значения будут сгенерированы базой данных и, следовательно, должны быть перезагружены после того, как объект будет вставлен / обновлен.

Если вы хотите использовать именно этот способ, вам необходимо настроить свою базу данных (например, путем создания триггера) для заполнения столбцов date_created / last_modified по мере необходимости.

Другой подход состоит в том, чтобы не отмечать эти поля как сгенерированные, а вместо этого обновлять их в своем java код. Если вы используете JPA (через Hibernate EntityManager), довольно просто сделать это с помощью метода обратного вызова @PrePersist / @PreUpdate :

@PreUpdate
@PrePersist
public void updateTimeStamps() {
    lastModified = new Date();
    if (dateCreated==null) {
      dateCreated = new Date();
    }
}
48
ответ дан 30 November 2019 в 06:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: