读书人

存入数据库的Date类型只有年月日没有

发布时间: 2013-02-18 10:50:49 作者: rapoo

存入数据库的Date类型只有年月日,没有时分秒的原因和解决办法

问题:存入数据库的Date类型只有年月日,没有时分秒


我尝试过几种方式,结果都是年月日,明明有些地方可以有时分秒...


后来想到,所有和时间有关的地方,有一个地方我没有去注意。我是用jboss的hibernate插件生成的对象和hbm.xml配置文件,虽然我配置了主键的类型,但是其他字段我都用的默认的,经过检查hbm.xml文件,发现一个问题。


原因:hibernate在生成该配置文件的时候,使用的都是基本类型。


String类型写的不是java.lang.String而是string

Date类型写的不是java.util.Date而是date

其他类型都是这样

(这个date,string看着很奇怪,不知道来自那里..可能是hibernate?)

解决:瞬间发现问题,修改成正确的类型,重试发现没问题了。


以前用myeclipse的时候,没有手动配置过hibernate插件的配置文件,都是直接生成。使用Eclipse+插件,没想到需要自己手动配置那么多的内容。



附上一个配置文件:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" ><hibernate-reverse-engineering><table-filter match-name="AC18" /><table name="AC18"><primary-key><key-column name="TEMPID" type="java.lang.Long"></key-column><key-column name="ORDNUM" type="java.lang.Long"></key-column></primary-key><column name="AAA027" type="java.lang.Long"></column><column name="AAE002" type="java.lang.Long"></column><column name="AAC002" type="java.lang.String"></column><column name="AAC003" type="java.lang.String"></column><column name="FLAG" type="java.lang.String"></column><column name="BZH001" type="java.lang.String"></column><column name="CONTENT" type="java.lang.String"></column><column name="ERRMSG" type="java.lang.String"></column><column name="LOGONNAME" type="java.lang.String"></column><column name="FUNCTIONID" type="java.lang.String"></column><column name="SAVE" type="java.lang.String"></column><column name="SAVEUSER" type="java.lang.String"></column><column name="AAA111" type="java.lang.String"></column><column name="AAC033" type="java.util.Date"></column><column name="SAVETIME" type="java.util.Date"></column></table></hibernate-reverse-engineering>


读书人网 >其他数据库

热点推荐