当前位置: 首页 > 面试题库 >

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

叶炜
2023-03-14
问题内容

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

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

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

与期望的fractional_second_precision



 类似资料:
  • 我需要访问现有的MySQL数据库,该数据库使用列存储时间戳: 现在我更喜欢使用或实例而不是整数,所以我试图让Hibernate直接转换值。不幸的是,Hibernate不会识别这样注释的列: 或者像这样: 这确实会在将来返回类似。如何使Hibernate convert列正确转换,从而不必在getter和setter中转换它们?

  • 本文向大家介绍JAVA中的日期时间类用法总结,包括了JAVA中的日期时间类用法总结的使用技巧和注意事项,需要的朋友参考一下 前言 好记性不如烂笔头,日期时间类那么花哨不如记下来多看两眼。 提示:以下是本篇文章正文内容,下面案例可供参考 一.日期时间类的包 代码如下(示例): 二.Data类 java.util.Date; Date类是我们之前常用的一个日期和时间的对象,此类在 java.util

  • 我对…感到困惑。、和的类型。 > 我在Oracle 11g数据库中有两种数据类型。->, 我用Hibernate映射了这个。->, 它可以像映射到和映射到一样? 以及到和到? 那么我应该在Java代码中使用什么类型呢? Oracle DB/Hibernate/Java代码 > 日期/日期/日期或时间戳?? 时间戳/日期/日期还是时间戳? 时间戳/时间戳/日期还是时间戳? 四种情况都有可能?我很困惑

  • 问题内容: 如何配置JPA /hibernate模式以UTC(GMT)时区在数据库中存储日期/时间?考虑以下带注释的JPA实体: 如果日期是太平洋标准时间(PST)2018-Feb-03 9:30 am,那么我希望数据库中存储2008-Feb-03 5:30 pm的UTC时间。同样,从数据库中检索日期时,我希望将其解释为UTC。因此,在这种情况下,530pm是UTC 530pm。显示时,它将被格式

  • 我需要一些解释为什么这个代码不编译: 错误: 类型Duration中的(TemporalAmount)方法不适用于参数(ChronoUnit) 正如本文所述: public static Duration from(TemporalAmount amount)从时间量中获取持续时间的实例。这将根据指定的金额获得持续时间。TemporalAmount表示一个时间量,可以是基于日期的,也可以是基于时间

  • 不支持使用s(所以当前)使用Java8 Date/Time,因为默认情况下这个版本的Spring Boot使用。要实现这一点(Spring Boot 1.5.10),请在部分覆盖该版本。 问:启用Java8日期/时间覆盖hibernate版本或以某种方式覆盖hibernate版本的最佳方法是什么(如果是,那么如何实现?)是否将JPA 2.2用于SPRING\u引导? 编辑与Hibernate我不断