我有一个模型对象,我希望有一个日期字段。目前我正在使用ZonedDateTime
,因为它符合我们的需求。Java ZonedDateTime保存在数据库中
Hibernate将该字段作为tinyblob
存储在数据库中。我们可以将它在数据库中保存的方式更改为更易读的格式,更重要的是将其更改为可排序格式?
使用的数据库是一个MySQL数据库。
我有一个模型对象,我希望有一个日期字段。目前我正在使用ZonedDateTime
,因为它符合我们的需求。Java ZonedDateTime保存在数据库中
Hibernate将该字段作为tinyblob
存储在数据库中。我们可以将它在数据库中保存的方式更改为更易读的格式,更重要的是将其更改为可排序格式?
使用的数据库是一个MySQL数据库。
此问题已得到解决的新improvement到Hibernate 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>
谢谢。我会试一试,让你知道:) – Panos
我试过解决方案。 hibernate核心解决方案与spring数据有冲突。它需要jpa 2,而spring数据与jpa一起工作,应用程序甚至没有启动。我也尝试过hibernate-java8版本,但没有修复它。 – Panos
@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
我承担的“排序”你的意思是“通过即时即时排序”? (如果你真的只想要一个日期,'ZonedDateTime'是不合适的,btw。'LocalDate'将是正确的类型。) –
@JonSkeet我在ZonedDateTime中使用ZonedDateTime,我需要准确的时间长达几毫秒。只在需要日期的字段中输入LocalDate。在这个帖子中提及这两个将会是一个矫枉过正的问题 – Panos
“在这个主题中提及这两个都是一种矫枉过正。”我真的不认为让你准确地描述你想要表达的数据是“过度的”。你说你试图代表一个约会,但你不是。据推测,你正在尝试与相关时区一起表现一段时间。当您尝试获得帮助时,重要的是要尽可能准确。 –