Hibernate文档具有以下有关@Temporal注释的信息:
@Temporal
在纯Java API中,未定义时间的时间精度。处理时态数据时,您可能需要描述数据库中的预期精度。时间数据可以具有DATE,TIME或TIMESTAMP精度(即实际日期,仅时间或两者兼有)。使用@Temporal批注进行微调。
什么temporal precision of time is not defined意思 什么是temporal数据及其精度?如何调整?
temporal precision of time is not defined
temporal
必须为类型为java.util.Date和的持久字段或属性指定此注释java.util.Calendar。只能为这些类型的字段或属性指定。
java.util.Date
java.util.Calendar
该Temporal注释可与结合使用Basic的注释,所述Id注释,或ElementCollection注释(当元素集合值是这样一个时间类型。
Temporal
Basic
Id
ElementCollection
在纯Java API中,未定义时间的时间精度。处理时态数据时,您可能需要描述数据库中的预期精度。时间数据可以具有DATE,TIME或TIMESTAMP精度(即,实际日期,仅时间或两者兼有)。使用@Temporal注释进行微调。
时间数据是与时间有关的数据。例如,在内容管理系统中,文章的创建日期和最后更新日期是时间数据。在某些情况下,时态数据需要精度,并且您想TIMESTAMP在数据库表中存储精确的日期/时间或两者()。
TIMESTAMP
核心Java API中未指定时间精度。@Temporal是JPA在timestamp和之间来回转换的注释java.util.Date。它还可以转换time- stamp为时间。例如,在下面的代码段中,@Temporal(TemporalType.DATE) 删除时间值,仅保留date 。
JPA
time- stamp
@Temporal(TemporalType.DATE)
@Temporal(TemporalType.DATE) private java.util.Date creationDate;
根据javadocs,
用于在查询方法参数上声明适当的{@code TemporalType}的注释。请注意,此注释只能在 默认情况下 用于类型为{@link Date}的 参数上TemporalType.DATE
TemporalType.DATE
[以上信息来自各种来源]