我在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应该映射时间戳吗?
感谢您提前提供的任何帮助和建议
最佳答案
使用 TemporalType.TIMESTAMP
,当您将 lastExpressTime
持久保存到数据库或从数据库读取时,日期和时间都将被持久保存/读取。
使用TemporalType.DATE
,当您将lastExpressTime
持久保存到数据库或从数据库读取lastExpressTime
时,只会保存/读取日期,并且日期的时间部分将设置为全为零。
不确定此行为是否对于所有数据库都相同,最好在您自己的测试中检查这一点。
关于mysql - hibernate TemporalType,日期时间列映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26924488/