@violette_robel
Если вы хотите использовать функцию now()
для установки текущего времени вместо значения null
в Hibernate, вам нужно определить свойство с помощью аннотации @Column
и указать значение по умолчанию для этого свойства.
Например, предположим, что у вас есть сущность MyEntity
, и вы хотите установить значение текущего времени вместо null
для свойства createdAt
типа java.util.Date
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
@Entity @Table(name = "my_entity") public class MyEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "created_at", nullable = false, columnDefinition = "TIMESTAMP DEFAULT now()") @Temporal(TemporalType.TIMESTAMP) private Date createdAt; // getters and setters } |
В примере выше, аннотация @Column
указывает на то, что столбец должен быть NOT NULL
(nullable = false
), а значение по умолчанию должно быть установлено на текущее время (columnDefinition = "TIMESTAMP DEFAULT now()"
). Аннотация @Temporal
используется для указания типа данных времени, который используется в базе данных.
Теперь, когда новый объект MyEntity
сохраняется в базе данных, свойство createdAt
будет установлено на текущее время, если оно не было установлено явно.