hithyc 2011-09-29
遇到的问题:
mysql数据库设置时间为DATE类型,hibernate反向工程得到的实体类也是Date类型,但是,newDate()插进去的数据在数据库是:2011-09-29这种格式我想要的是2011-09-29 11:27:26这种格式。
办法:
将数据字段改为TimeStamp类型,重新反向工程(影响到hbm.xml(TimeStamp)和java类(Date))赋值仍然使用new Date() set进去,到数据库就是:2011-09-29 11:27:26
提取的时候,如果单纯使用<s:property value="transferDate"/>那么显示为:2011-09-29 11:27:26 000如何去掉000呢?使用struts2的标签:<s:date name="transferDate" format="yyyy-MM-dd HH:mm:ss"/>
注意:是<s:date name="transferDate" format="yyyy-MM-dd HH:mm:ss"/>如果写作:yyyy-MM-dd hh:mm:ss,那么下午一点就是01:00了
总结:
mysql数据库中不要设置布尔字段,否则你会很麻烦。应将其设置为varchar(1),使用hibernate的反向工程后是string类型的。用0、1标识。
mysql数据库中不要设置date字段,因为反向工程得到的实体类也是Date类型(length为19),newDate()(注:java.util.Date)进去的是2011-09-29
如果想显示分秒,使用TimeStamp字段,反向工程得到的实体类也是Date类型(length为11),newDate()进去的是2011-09-2911:27:26