如何从datetimepicker接收日期并将其保存到数据库中?

时间:2013-06-12 00:51:18

标签: mysql hibernate java-ee struts2

我需要从用户那里收到一个日期,并将其保存在数据库中。我使用以下datetimepicker来接收日期,我收到如下日期,

它会遇到以下异常

  SEVERE: org.hibernate.exception.GenericJDBCException: Value '0000-00-00' can not be represented 
  as java.sql.Date

输入日期

   Thu Jun 13 00:00:00 EST 2012

如何检索日期只能将其保存到数据库中?

JSP

  <sx:datetimepicker name="mydate"
                           label="myDate"
                           displayFormat="dd-MMM-yyyy"
                           value="todayDate"/>

爪哇

...
private Date mydate;
...
@Temporal(javax.persistence.TemporalType.DATE)
getter

setter

数据库

name     type
mydate   Date

即使我使用以下方法设置变量,它也会引发相同的异常

public Date getCurrentDate(){
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date = new Date();
        System.out.println("Current Date" + dateFormat.format(date));
        return  date;
    }

2 个答案:

答案 0 :(得分:0)

将显示格式dd-MMM-yyyy更改为MM-dd-yyyy

<sx:datetimepicker name="mydate"
    label="myDate"
    displayFormat="MM-dd-yyyy"
    value="todayDate"/>

答案 1 :(得分:0)

尝试此转化

java.sql.Date sqlDate = new java.sql.Date(struts2Date.getTime());

并将 sqlDate 保存在mySQL表