Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用spring mvc转换和保存日期_Java_Spring_Hibernate_Date_Jpa - Fatal编程技术网

Java 使用spring mvc转换和保存日期

Java 使用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

在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.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的使用