我有一个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的情况下,无论是通过休眠还是在后端进行格式化是否自动转换
谢谢
答案 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);