在Hibernate中使用Oracle Date时的日期/时间的Java类型

我们有一个Oracle日期列。首先,我们在Java /

Hibernate类中使用java.sql.Date。这可行,但是保存时似乎没有在数据库中存储任何时间信息,因此我将Java数据类型更改为Timestamp。现在我们得到这个错误:

springframework.beans.factory.BeanCreationException:在类路径资源[margin-service-

domain

-config.xml]中定义的名称为’org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor#0’的bean创建时出错:bean初始化失败;嵌套异常是org.springframework.beans.factory.BeanCreatio

nException:创建在类路径资源[m-service-doma in-

config.xml]中定义的名称为’sessionFactory’的bean时出错:调用init方法失败;嵌套的异常是org.hibernate.HibernateException:错误的列类型:CREATE_TS,预期的:时间戳记

关于如何Date在保留时间部分的同时映射Oracle的任何想法?


更新:如果使用Oracle Timestamp数据类型,我可以使它正常工作,但我不希望达到理想的精度水平。只需要基本的Oracle Date

回答:

不是直接的答案,但我将使用Oracle TIMESTAMP类型:

  • 年,月和日值以及时间的小时,分​​钟和秒值,其中

    fractional_seconds_precision 可选地指定SECOND datetime字段的小数部分中的位数,

    并且可以是范围从0到9。默认值为6。例如,您TIMESTAMP按如下方式指定 文字:

    TIMESTAMP'1997-01-31 09:26:50.124'

与期望的fractional_second_precision

以上是 在Hibernate中使用Oracle Date时的日期/时间的Java类型 的全部内容, 来源链接: utcz.com/qa/410845.html

回到顶部