Java 使用spring mvc转换和保存日期
在spring中,当我使用datepicker在字段date中输入数据时,我有一个带有日期的表单,我给您保存收据的日期格式如下E MMM dd HH:mm:ss Z yyyy示例Mon Jun 18 00:00:00 IST 2012Java 使用spring mvc转换和保存日期,java,spring,hibernate,date,jpa,Java,Spring,Hibernate,Date,Jpa,在spring中,当我使用datepicker在字段date中输入数据时,我有一个带有日期的表单,我给您保存收据的日期格式如下E MMM dd HH:mm:ss Z yyyy示例Mon Jun 18 00:00:00 IST 2012 SimpleDateFormat formDate = new SimpleDateFormat ("dd/MM/yyyy"); String birthday = formDate.format (emp.getBirthda
SimpleDateFormat formDate = new SimpleDateFormat ("dd/MM/yyyy");
String birthday = formDate.format (emp.getBirthday ());
如果我这样做,则返回一个字符串
Emp.setBirthday (formDate.parse (birthday));
我将返回它E MMM dd HH:mm:ss Z yyyyy,我需要它以日期dd/mm/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);
}
要保存,会出现以下错误
值大于此列允许的指定精度
我是新的恩斯普林mvc
我假设您的
生日
字段是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;
以下是从文档中截取的进一步信息:
在普通JavaAPI中,时间的时间精度没有定义。
在处理时态数据时,您可能需要描述
数据库中的预期精度。时态数据可以有日期、时间或时间
时间戳精度(即实际日期、仅时间或两者)。使用
@Temporal注释可以对其进行微调
非常感谢我的朋友,使用它@Temporal(TemporalType.DATE)私人日期生日;我建议添加jpa/hibernate标记,因为最终问题在于这些API的使用