我在hibernate里配置的数据类型为java。util.Date,数据库连接的是oracle,创建表时老生成的是datetime

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我在hibernate里配置的数据类型为java。util.Date,数据库连接的是oracle,创建表时老生成的是datetime相关的知识,希望对你有一定的参考价值。

类型的,oracle里面好像没有datetime,为什么?或者oracle里时间类型对应hibernate里的是什么类型?

oracle时间类型应该是date,对应java里面的Date 应该是java.sql.Date;所有你配置的时候配置这个就不会出错了。如果你要传入时间类型到数据库,就new java.sql.Date(new java.Util.Date().getTime); 参考技术A hibernate的时间类型用的就是数据库的时间类型,而不是Java的时间类型,两者不一样,需要进行类型转换,但是hibernate经过封装后,不需要自己手动转换,它可以帮你自动转换,所以不需要去管类型的问题追问

我知道 但是现在他把date类型的转换成了datetime类型的,这在orcale里执行时报错,好像oracle时间类型里没这个, 这是什么引起的

追答

你自己手动转的还是使用hibernate类型自动转换的?

追问

写在hibernate的po的配置文件里,自动转换的吧

参考技术B 看你精确到什么位置了,只到日的话就是DATE类型,到时分秒的话,就是TIMESTAMP类型 参考技术C <property name="lastUpdateDate" type="java.util.Date">
<column name="LAST_UPDATE_DATE" length="7" not-null="true">
<comment>最后更新日期</comment>
</column>
</property>
普通的时间类吧。这是我以前写的配置文件
参考技术D 可以转换一下就行了
java.util.Date date=new java.util.Date();
java.sql.Date sqldate = new java.sql.Date(date.getTime);

图说hibernate注释--java里配置参数(一.1)

 

**************************************************************【来自我另一博文】

以上是关于我在hibernate里配置的数据类型为java。util.Date,数据库连接的是oracle,创建表时老生成的是datetime的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate映射配置:数据类型映射

用hibernate,数据库里的数据是date类型,对应的实体类中该字段也是Date类型,想要把查出来的结果转换为yy

图说hibernate注释--java里配置参数(一.1)

如何在java里获取hibernate连接池最大连接数和当前连接数

hibernate 和eclipselink的区别

无法确定类型:java.util.List