java格式化日期并将其作为日期对象返回

时间:2013-06-07 10:55:57

标签: java hibernate date

我有一个pojo类,其中一个字段是date。在这里,我使用hibernate使用这些pojos将值插入到数据库中。

我已为此属性设置了当前日期值,我将值插入到数据库中。在这里,我需要生成插入脚本programaticaly。我已经这样做了,我在控制台中打印插入语句。但是在控制台中打印时,日期显示为 Fri Jun 07 04:49:07 ACT 2013 ,插入声明为

INSERT INTO tables (dates)values('Fri Jun 07 04:49:07 ACT 2013');

我不想生成像这样的脚本我需要它

INSERT INTO tables (dates)values('2013-06-07');

我知道我们可以使用简单的日期格式化程序,但我需要这个日期来设置POJO值。因此,如果它是String,则不会将其设置到对象中。

我正在形成如下的查询

    StringBuffer columnName = new StringBuffer();
    columnName.append("insert into Tables values ('"+obj.getdates()+"')");

在我使用logger之前,当时查询已经形成,我认为hibernate会处理这种格式化,因为在插入查询之后就形成了

INSERT INTO tables (dates)values('2013-06-07');

但是现在通过硬编码它会给出上面的查询,因为日期值不正确而没有执行。

任何人都可以帮助我。在hibernate的情况下,无论是通过休眠还是在后端进行格式化是否自动转换

谢谢

1 个答案:

答案 0 :(得分:0)

将您的日期转换为java.sql.Date

java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
System.out.println("utilDate:" + utilDate);
System.out.println("sqlDate:" + sqlDate);