我的H2数据库中有一个时间戳列,其中包含2015-01-14 21:32:29
等数据,但是当我通过JSTL检索这些值时,我得到以下值:1421261300000
。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
Hibernate当前将时间存储为UTC时间(自1970年1月1日以来的毫秒数)。如果希望以人类可读的格式存储,则需要指定用户数据类型。幸运的是,这已经由Hibernate的Jadira用户类型库完成。
假设你的班级看起来像这样:
//other class fields declared above here
@Column
private Date theDate;
您只需要从here导入Jadira类型库,然后将Date
类型更改为JodaTime / Java 8 DateTime
对象。如果您不使用Java 8,请从here导入JodaTime。
当您添加以下注释时,Hibernate应自动将您的字段存储为人类可读的时间戳。
//Other class fields declared above here
@Column
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentDateTime")
private DateTime theDate;
Violá你的时间戳现在是人类可读的。