我在MySQL上使用Spring Roo。我通過Roo生成的JSON方法提取日期,以瀏覽器形式更改該數據,並通過Roo生成的JSON方法將其保存回去。在保存json之前,spring roo不能識別日期格式
我出來的日期格式是yyyy-MM-dd
,標準的MySQL日期格式。我在瀏覽器上使用日曆小部件,以確保我提交的日期格式相同。
不幸的是我的數據不會通過...FromJson()
方法右轉,與錯誤而失敗:
Parsing date 2007-12-12 was not recognized as a date format
我相信這問題是,它的未來作爲一個字符串,但JPA感覺就像它需要生成要更新的對象Date
。
我會很高興地展示我的代碼,但沒有Roo沒有爲我構建的代碼。
在我看來,它指的是它被稱爲「被識別爲日期格式」的東西。有什麼地方可以改變它知道的日期格式嗎?
編輯:以@ nowaq的幫助下,這裏是最終的答案:
public static Lease fromJsonToLease(String json) {
return new JSONDeserializer<Lease>()
.use(null, Lease.class)
.use(Date.class, new DateFormatter("yyyy-MM-dd"))
.deserialize(json);
}
這樣JSONDeserializer知道它在處理什麼課,並建立了該類別的所有日期的格式。邪惡!
原來,我需要兩個'.use'調用,一個用於定義我正在使用的類,另一個用於爲該類中的日期配置datetransformer。謝謝! –
@DanRay我正在通過添加新的DateFormatter(「yyyy-MM-dd」)來解決您的問題,但它看起來像DateFormater不起作用?我需要將它轉換爲ObjectFactory,但不能轉換爲此類型。 – Rami