我在mysql中的列类型为datetime
我使用hibernate @Temporal(TemporalType.TIMESTAMP) private java.sql.Timestamp lastExpressTime;
@Temporal(TemporalType.TIMESTAMP)
private java.util.Date lastExpressTime;
@Temporal(TemporalType.DATE)
private java.sql.Date lastExpressTime;
这些之间有什么区别吗?
datetime应该映射什么样的TemporalType?
我找到了参考Table 5.2 MySQL Types to Java Types for ResultSet.getObject() datetime应映射时间戳吗?
感谢您提前提供任何帮助和建议
答案 0 :(得分:1)
使用TemporalType.TIMESTAMP
,当您将lastExpressTime
保留/读取数据库时,将保留/读取日期和时间。
使用TemporalType.DATE
时,当您向/从数据库保留/读取lastExpressTime
时,只会保留/读取日期,并且日期的时间部分将设置为全零。
不确定所有数据库的行为是否相同,最好在您自己的测试中检查这一行为。