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

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

WBOY
WBOYOriginal
2016-06-07 15:12:004402Durchsuche

问题: 存入数据库的Date类型只有年月日,没有时分秒 我尝试过几种方式,结果都是年月日,明明有些地方可以有时分秒... 后来想到,所有和时间有关的地方,有一个地方我没有去注意。我是用jboss的hibernate插件生成的对象和hbm.xml配置文件,虽然我配置了主键

问题:存入数据库的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"?>


<hibernate-reverse-engineering>

	<table-filter match-name="AC18"></table-filter>
	<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>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn