【发布时间】:2019-03-11 16:19:07
【问题描述】:
我需要使用 JPA 中的 LocalDateTime 列类型在 MariaDB 中创建 DATETIME 列。
我创建了这个实体:
@Column
private LocalDateTime created_at;
但是当我存放代码时,MariDB 中的列更新为DATE。我需要DATETIME。
我也试过这个:
@Column
@Temporal(TemporalType.TIMESTAMP)
private LocalDateTime created_at;
但是当我部署代码时出现错误:
@Temporal should only be set on a java.util.Date or java.util.Calendar property
我使用 Java 10 和 spring-boot-starter-parent
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
<relativePath />
</parent>
这个问题有什么解决办法吗?例如,有没有办法在不使用@Temporal 的情况下将实体的列类型设置为DATETIME?
【问题讨论】:
-
你确定你在没有@Temporal 的情况下使用了 LocalDateTime,因为 LocalDateTime 应该是数据库中的 DATETIME。当我用 spring-boot-starter-parent 尝试它时,它起作用了。
-
原来DATETIME被创建了——我错了。
标签: java hibernate jpa spring-boot-starter