Hibernate 文档包含以下关于 @Temporal
注释的信息:
在普通的 Java API 中,没有定义时间的时间精度。在处理时态数据时,您可能希望描述数据库中的预期精度。时态数据可以具有 DATE、TIME 或 TIMESTAMP 精度(即实际日期、仅时间或两者兼有)。使用 @Temporal 注释对其进行微调。
temporal precision of time is not defined
是什么意思?什么是 temporal
数据及其精度?它是如何微调的?
原文由 Chaitanya 发布,翻译遵循 CC BY-SA 4.0 许可协议
必须为
java.util.Date
和java.util.Calendar
类型的持久字段或属性指定此注释。只能为这些类型的字段或属性指定它。The
Temporal
annotation may be used in conjunction with theBasic
annotation, theId
annotation, or theElementCollection
annotation (when the element collection value 就是这样一种时间类型。在普通的 Java API 中,没有定义时间的时间精度。在处理时态数据时,您可能希望描述数据库中的预期精度。时态数据可以具有 DATE、TIME 或 TIMESTAMP 精度(即实际日期、仅时间或两者兼有)。使用
@Temporal
注释对其进行微调。时间数据是与时间相关的数据。例如,在内容管理系统中,文章的创建日期和最后更新日期是时间数据。在某些情况下,时间数据需要精确,并且您希望在数据库表中存储精确的日期/时间或两者(
TIMESTAMP
)。核心 Java API 中未指定时间精度。
@Temporal
是一个JPA
注释,在时间戳和java.util.Date
之间来回转换。它还将time-stamp
转换为时间。例如,在下面的代码段中,@Temporal(TemporalType.DATE)
删除时间值并仅保留日期。根据javadocs,
[以上信息从各种来源收集]