当前位置: 首页 > 知识库问答 >
问题:

Hibernate日期,时间戳类型混乱

石俊雄
2023-03-14

我对…感到困惑。HibernateJavaOracle的类型。

>

  • 我在Oracle 11g数据库中有两种数据类型。->日期,时间戳(6)

    我用Hibernate映射了这个。->日期,时间戳

    它可以像日期(DB)映射到时间戳(hbm)日期(DB)映射到日期(hbm)一样?

    以及时间戳(DB)日期(hbm)时间戳(DB时间戳(hbm)

    那么我应该在Java代码中使用什么类型呢?

    Oracle DB/Hibernate/Java代码

    >

  • 日期/日期/日期或时间戳??

    时间戳/日期/日期还是时间戳?

    时间戳/时间戳/日期还是时间戳?

    四种情况都有可能?我很困惑..我在oracle数据库中进行了测试。

    有些问题发生了,就像我不能节省小时,分钟,秒…

    帮助我学习Hibernate的基础知识。

    hbm.xml映射文件

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
        <session-factory>
            <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
            <property name="hibernate.connection.url">jdbc:oracle:thin:@127.0.0.1:1521:oracle</property>
            <property name="hibernate.connection.username">scott</property>
            <property name="hibernate.connection.password">scott</property>
            <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
            <!-- <property name="hibernate.default_schema">MKYONG</property> -->
            <property name="show_sql">true</property>
            <mapping resource="com/mkyong/user/DBUser.hbm.xml"></mapping>
        </session-factory>
    </hibernate-configuration>
    

    用户代码(java)

    public class DBUser implements java.io.Serializable {
        private int userId;
        private String username;
        private String createdBy;
        private Date createdDate;
        private Date createdTimestamp;
        private String createdTest;
        //something getter setter ~~
    }
    
  • 共有1个答案

    胡云瀚
    2023-03-14

    您可以同时使用HBM和Java。

    用于时间戳的java.sql.timestamp。Oracle java.sql.date中用于日期的时间戳。Oracle中的日期

    以上两个类都扩展自java.util.Date。您可以对两者都使用java.sql.timestamp,但Oracle将在插入/更新期间丢弃用于DATE的time组件。使用java.sql.DATE表示日期将使您更加清晰。

    org.hibernate.type.LocalDateType - Maps a java.time.LocalDate to a Oracle DATE    
    org.hibernate.type.LocalDateTimeType - Maps a java.time.LocalDateTime to a Oracle TIMESTAMP
    
     类似资料:
    • 本文向大家介绍Java将日期类型Date时间戳转换为MongoDB的时间类型数据,包括了Java将日期类型Date时间戳转换为MongoDB的时间类型数据的使用技巧和注意事项,需要的朋友参考一下 存了一个时间类型(Date)的数据到mongo数据库中,但是前台显示的是一串数字。继而引发了如下问题: Java里面如何把 时间戳 1477387464495 转换为 2016-10-25 17:24:2

    • 问题内容: 有时,我会对Java中不同的Date类型及其实际用法感到困惑。在这里我想总结一下我的理解 毫秒值左右的精简包装,可让JDBC将其标识为SQL DATE值 围绕java.util.Date的瘦包装器,该包装器允许JDBC API将其标识为SQL TIMESTAMP值。通过允许小数秒的精度达到纳秒级,它增加了保存SQL TIMESTAMP小数秒值的能力。 我已经看到大多数项目都更喜欢时间戳

    • 我正在为我的聊天应用程序使用firebase。在聊天对象中,我使用方法添加时间戳。 请就这个问题提出解决办法

    • 主要内容:YEAR 类型,TIME 类型,DATE 类型,DATETIME 类型,TIMESTAMP 类型MySQL 中有多处表示日期的数据类型: YEAR、 TIME、 DATE、 DTAETIME、 TIMESTAMP。当只记录年信息的时候,可以只使用 YEAR 类型。 每一个类型都有合法的取值范围,当指定确定不合法的值时,系统将“零”值插入数据库中。 下表中列出了 MySQL 中的日期与时间类型。 类型名称 日期格式 日期范围 存储需求 YEAR YYYY 1901 ~ 2155 1 个字

    • 11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 表示时间值的DATE和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。每个时间类型有一个有效值范围和一个“零”值,当指定不合法的MySQL不能表示的值时使用“零”值。TIMESTAMP类型有专有的自动更新

    • 我有一个RestController,看起来像这样: 我的如下所示: 这里的来自Project Lombok。我遇到的问题是start Date和endDate参数在GET字符串中作为 没有正确绑定,我遇到了以下错误: 无法将java.lang.String类型的属性值转换为属性endDate所需的类型java.util.Date;嵌套异常org.springframework.core.conv