我有一個模型對象,我希望有一個日期字段。目前我正在使用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
「在這個主題中提及這兩個都是一種矯枉過正。」我真的不認爲讓你準確地描述你想要表達的數據是「過度的」。你說你試圖代表一個約會,但你不是。據推測,你正在嘗試與相關時區一起表現一段時間。當您嘗試獲得幫助時,重要的是要儘可能準確。 –