2017-01-28 22 views
1

我在春天有一個表格,其中包含使用datepicker在字段日期中輸入數據的日期,並且我給你保存收據的日期格式如下E MMM dd HH:mm:ss Z yyyy示例週一06月18日00:00:00北京時間2012年使用彈簧mvc轉換並保存日期

  SimpleDateFormat formDate = new SimpleDateFormat ("dd/MM/yyyy"); 
     String birthday = formDate.format (emp.getBirthday()); 

的tranformo返回一個字符串,如果我再做

  Emp.setBirthday (formDate.parse (birthday)); 

我會回到它êMMM DD HH:MM:SSžYYYY和我需要以日期日/月/年的格式將其保存在數據庫中

我有類實體使用

public class Employees implements java.io.Serializable { 
private int employeeId; 
private String firstName; 
private String lastName; 
private Date birthday; 

//getter and setter 

} 

和控制器

@RequestMapping(value = {"/new"}, method = RequestMethod.POST) 
    public String save(ModelMap modelMap, @ModelAttribute("emp") Employees emp, BindingResult result) { 
      SimpleDateFormat formaDate = new SimpleDateFormat("dd/MM/yyyy"); 
      String birthday = formaDate.format(emp.getBirthday()); 

      emp.setBirthday(formaDate.parse(birthday)); 

      employeesServices.saveRecord(emp); 
} 

爲了節省給了我下面的錯誤

值大於允許此列

指定的精度更高

我是新enspring m VC

與谷歌翻譯翻譯

+1

我建議增加JPA /休眠的標籤,最終的問題是關於使用這些API的 –

回答

1

我假設你birthday場爲java.util.Date的類型。

然後根據JPA規範它必須用@Temporal註釋。

必須爲持久性字段或類型爲java.util.Date和java.util.Calendar的屬性 指定此註釋。它可能只有 爲這些類型的字段或屬性指定。顳 註釋可以與基本註釋,所述 Id註解,或ElementCollection註釋(當元件 收藏價值是這樣一個時間類型結合使用。

作爲要剪切的時間從你的約會,你應該:

1)使用java.sql.Date爲你的類型

private java.sql.Date birthday; 

2)或添加這個註解:

@Temporal(TemporalType.DATE) 
private Date birthday; 

這裏是從進一步信息的文檔剪斷:

在普通的Java API,時間的時間精度沒有定義。 在處理時態數據時,您可能想要描述數據庫中預期的精度。時間數據可以具有DATE,TIME或TIMESTAMP精度(即實際日期,僅時間或兩者)。使用@Temporal註解可以使用 對其進行微調。

+0

非常感謝我的朋友,用它 @Temporal(TemporalType.DATE) 私人生日日期; – ammf18