我在mysql中的列类型为datetime
我用休眠
@Temporal(TemporalType.TIMESTAMP)
私有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应该映射时间戳吗?
谢谢您的任何帮助和建议
最佳答案
使用TemporalType.TIMESTAMP
,当您对数据库进行持久化/读取操作时,日期和时间都将得到持久化/读取。
使用lastExpressTime
,当您将TemporalType.DATE
持久化到数据库中或从数据库中读取时,仅日期将被持久化/读取,并且日期的时间部分将被设置为全零。
不确定此行为是否对所有数据库都相同,最好是在自己的测试中进行检查。