2017-05-10 67 views
0

我有一个模型对象,我希望有一个日期字段。目前我正在使用ZonedDateTime,因为它符合我们的需求。Java ZonedDateTime保存在数据库中

Hibernate将该字段作为tinyblob存储在数据库中。我们可以将它在数据库中保存的方式更改为更易读的格式,更重要的是将其更改为可排序格式?

使用的数据库是一个MySQL数据库。

+0

我承担的“排序”你的意思是“通过即时即时排序”? (如果你真的只想要一个日期,'ZonedDateTime'是不合适的,btw。'LocalDate'将是正确的类型。) –

+0

@JonSkeet我在ZonedDateTime中使用ZonedDateTime,我需要准确的时间长达几毫秒。只在需要日期的字段中输入LocalDate。在这个帖子中提及这两个将会是一个矫枉过正的问题 – Panos

+0

“在这个主题中提及这两个都是一种矫枉过正。”我真的不认为让你准确地描述你想要表达的数据是“过度的”。你说你试图代表一个约会,但你不是。据推测,你正在尝试与相关时区一起表现一段时间。当您尝试获得帮助时,重要的是要尽可能准确。 –

回答

2

此问题已得到解决的新improvementHibernate 5.0.0.Beta1,原来它是在一个孤立的modulehibernate-java8

现在它在hibernate-core直接捆绑的捆绑,所以只要确保你使用的是最新版本的它(5.2.X +),如果你使用的是maven,它应该是这样的

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>5.2.10.Final</version> 
</dependency> 
+0

谢谢。我会试一试,让你知道:) – Panos

+0

我试过解决方案。 hibernate核心解决方案与spring数据有冲突。它需要jpa 2,而spring数据与jpa一起工作,应用程序甚至没有启动。我也尝试过hibernate-java8版本,但没有修复它。 – Panos

+0

@Panos,那么你将不得不升级你的Spring Data版本,至少到支持Hibernate 5.2的1.11版本,请点击http://docs.spring.io/spring-data/jpa/docs/2.0.0 .M3/reference/html /#new-features.1-11-0 – fujy