Java H2数据库-隐式时间戳转换

Java H2数据库-隐式时间戳转换,java,hibernate,h2,Java,Hibernate,H2,我的H2数据库中有一个时间戳列,其中包含数据,如2015-01-14 21:32:29,但是当我通过JSTL检索这些值时,我得到以下值:1421261300000。有人能帮我解决这个问题吗 Hibernate当前将时间存储为UTC时间(自1970年1月1日以来的毫秒数)。如果希望以人类可读的格式存储,则需要指定用户数据类型。幸运的是,Hibernate的Jadira用户类型库已经完成了这项工作 假设您的类看起来有点像这样: //other class fields declared above

我的H2数据库中有一个时间戳列,其中包含数据,如
2015-01-14 21:32:29
,但是当我通过JSTL检索这些值时,我得到以下值:
1421261300000
。有人能帮我解决这个问题吗

Hibernate当前将时间存储为UTC时间(自1970年1月1日以来的毫秒数)。如果希望以人类可读的格式存储,则需要指定用户数据类型。幸运的是,Hibernate的Jadira用户类型库已经完成了这项工作

假设您的类看起来有点像这样:

//other class fields declared above here
@Column
private Date theDate;
您只需从导入Jadira类型库,然后将
Date
类型更改为JodaTime/java8
DateTime
对象。如果您没有使用Java8,请从导入JodaTime

添加以下注释时,Hibernate应自动将字段存储为人类可读的时间戳

//Other class fields declared above here
@Column
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentDateTime")
private DateTime theDate;

Violá您的时间戳现在是人类可读的。

欢迎使用堆栈溢出!您使用什么代码(当然是尽可能精简)来存储和检索它?请把它编辑成你的问题。