hibernate - 以我想要的格式在mysql数据库中检索和保存日期

时间:2015-02-22 11:43:34

标签: java mysql hibernate date servlets

我以这种方式使用hibernate将数据存储在MySQL数据库中。

@Column(name="CREATION_DATE")
private Date creation_date;

我使用以下命令以dd-mm-yyyy格式输入日期:

    String str_date = request.getParameter("document_date");
    DateFormat df = new SimpleDateFormat("dd-mm-yyyy");
    Date date = null;
    try {
        date = df.parse(str_date);
    } catch (ParseException e1) {
        System.out.println("Exception occurred in parsing date : "+e1);
    }

但是当日期进入数据库时​​,它的格式完全不同:例如。如果输入的日期是2015年2月22日,则存储的日期为0022-01-03。而且即使我使用了TemporalType.DATE,我也无法阻止时间在数据库中保存。请帮忙,因为这花费了我太多的时间!

1 个答案:

答案 0 :(得分:1)

来自Mysql文档: - Date format

  

DATE类型用于具有日期部分但没有时间部分的值。   MySQL以'YYYY-MM-DD'格式检索并显示DATE值。该   支持的范围是'1000-01-01'到'9999-12-31'

如果您想将时间也存储在数据库中,请详细说明,然后定义您的creation_date变量,如下所示。您必须使用TIMESTAMP

@Column(name="CREATION_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date creation_date;