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