一尘不染

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

hibernate

我们有一个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


阅读 424

收藏
2020-06-20

共1个答案

一尘不染

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

  • TIMESTAMP(fractional_seconds_ precision)日期的 年,月和日值以及时间的小时,分​​钟和秒值,其中
    fractional_seconds_precision 可选地指定SECOND datetime字段的小数部分中的位数,
    并且可以是范围从0到9。默认值为6。例如,您TIMESTAMP按如下方式指定 文字:

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

与期望的fractional_second_precision

2020-06-20