2017-07-14 39 views
0

我已經解決了這個,但我沒有太大的成功,只是尋找什麼是我的最終解決方案,以及也許有超過1種方法來做到這一點,但我想分享我想出來的東西,也許它會有一些用處。休眠@Formula時間戳到日期轉換的順序由

我的問題是與Hibernate我正在執行查詢,有分頁和結果集需要按特定順序排序。排序是使用記錄創建日期,但這是一個時間戳下降到毫秒,我們希望每個月的一年是等效的時間戳可能是幾小時或幾毫秒,但如果他們都在2000年6月5日他們應該被視爲平等。我發現了很多關於如何從日期提取年月或日的信息,但實際上並未進行轉換。那我該怎麼做呢?

+0

JPA沒有這樣的'@ Formula',所以建議你修正你的標題 –

+0

你的評論困惑。標題說'休眠@Formula ....'。 import語句是:import org.hibernate.annotations.Formula;你提到JPA。 –

+0

您的標題爲「JPA @Formula」,我要求您更改它。什麼都沒有發生,所以我自己改變了它。 –

回答

0

這最後基本上是計算的字段,所以在@Formula註釋中。我在SQL服務器中發現了我所需要的轉換函數。進入公式有一些技巧。我想出了這個:

@Formula("convert(\"date\", Date_Time_Created) ") 

把日期本身結束了日期被當作成員變量,只是在做單引號「日期」從字面上去SQL作爲「日期」,但加入了雙引號爲逃脫導致「日期」在SQL中,但工作。