У меня есть объект с полем, определенным следующим образом:
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "some_datetime")
private java.util.Date someDateTime;
Я бы предположил, что Hibernate создаст таблицу с соответствующим столбцом типа DATETIME(3)
(для MySQL), однако таблица столбец это просто DATETIME
, поэтому, когда я сохраняю дату с миллисекундами, они теряются:
describe some_table;
+---------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+-------+
| ... | ... | NO | PRI | NULL | |
| some_datetime | datetime | YES | | NULL | |
| ... | ... | NO | | NULL | |
+---------------+--------------+------+-----+---------+-------+
Я думаю, мне нужно добавить параметр columnDefinition
в аннотацию @Column
, но почему это не выполняется автоматически Hibernate, так как я явно сказал, что хочу иметь TIMESTAMP, поддерживаемый таблицей.
Я пробовал выше с:
- 10.1.14 - MariaDB
- 5.7.29 - MySQL
Версия Hibernate: 5.2.18.Final с MySQL5InnoDBDialect