存在将ORACLE TIMESTAMP(9)字段映射到Java中的java.sql.Timestamp或java.util.Date的问题 ojdbc 11.2.0.1。 0 休眠的注解3.3.1.GA EJB3余辉1.0.1.GA将ORACLE TIMESTAMP(9)字段映射到java.util.Date

试图映射

UPDATE_TIMESTAMP_9 TIMESTAMP(9) NULL

TO

@Column(name = "UPDATE_TIMESTAMP_9")

private Date updateTimestamp_9;

获取异常

org.hibernate.HibernateException: Wrong column type in EMPLOYEE.EMPLOYEE for column UPDATE_TIMESTAMP_9. Found: timestamp, expected: date

在考察进一步我发现,对于日期或时间戳字段中的代码返回“假”在下面的行中Table.java

final boolean typesMatch = col.getSqlType(dialect, mapping).toLowerCase()

.startsWith(columnInfo.getTypeName().toLowerCase())

|| columnInfo.getTypeCode() == col.getSqlTypeCode(mapping);

col.getSqlType(方言,映射)是日期。 columnInfo.getTypeName()是时间戳,因此,如果查询的第一部分将不匹配

col.getSqlTypeCode(映射)返回93(这是代码Types.TIMESTAMP)。但是,columnInfo.getTypeCode()返回1111.因此,即使查询的第二部分也不匹配。

问题是,在填充ColumnMetadata rs.getInt( “DATA_TYPE”),用于字段UPDATE_TIMESTAMP_9返回1111是代码为Types.Other。请注意,如果我在oracle中使用TIMESTAMP(6)字段columnInfo.getTypeCode()正确返回93,代码将成功插入记录。问题仅在于TIMESTAMP(9)。

十字架上的休眠论坛发布here

2012-07-17

nev.m

+1

禁用模式验证? –

2012-07-17 21:27:57

+0

它工作时,我禁用hbm2ddl.auto。任何想法为什么验证失败? TIMESTAMP(9)的columnInfo.getTypeCode()不应该返回对应于Types.TIMESTAMP的代码。 –

2012-07-18 01:42:04

+0

columnInfo.getTypeCode来自您的JDBC驱动程序报告的元数据。 –

2012-07-18 04:44:53

oracle 代码 字段映射,将ORACLE TIMESTAMP(9)字段映射到java.util.Date相关推荐

  1. 取java.sql.date日期_JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]...

    1.如何将java.util.Date转化为java.sql.Date? 转化: java.sql.Date sd; java.util.Date ud; //initialize the ud su ...

  2. java中将date插入mysql中date_JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]...

    1.如何将java.util.Date转化为java.sql.Date? 转化: java.sql.Date sd; java.util.Date ud; //initialize the ud su ...

  3. java.util.Date、java.sql.Date和java.sql.Timestamp之间的转换

    背景描述 在编写程序的时候有时候需要对java.util.Date.java.sql.Date和java.sql.Timestamp等日期时间类型进行转换 方法简述 将A(a)这种日期时间类型转换成B ...

  4. java.util.Date和java.sql.Timestamp转换

    java.sql.Date 只存储日期数据不存储时间数据 // 会丢失时间数据 preparedStatement.setDate(1, new java.sql.Date(date.getTime( ...

  5. setDate()与setTimestamp()的区别和转换(java.util.Date和Timestamp的转换)

    pstmt.setDate()的类型是java.sql.Date类型,这种符合规范的类型其实并没有把时分秒存进数据库,所以存取时就应该用setTimestamp()或getTimestamp(). j ...

  6. c oracle代码,实现单一源代码 - Oracle® Developer Studio 12.5:C 用户指南

    8.2 实现单一源代码 以下各节介绍可用于编写支持 32 位和 64 位编译的单一源代码的一些可用资源. 8.2.1 派生类型 使用系统派生类型使代码对于 32 位和 64 位编译环境均安全,这是一种 ...

  7. Oracle代码块详解,Oracle可执行代码块

    declare --声明变量 v_menu_name varchar(50):='aaa管理'; --声明字符串变量必须带上长度 v_menu_url varchar(100):='/aaa.html ...

  8. JDK8时间与java.util.Date,java.sql.Date,Timestamp等的相互转换(时间转换)

  9. 总结java数据类型和mysql、oracle、pgsql数据类型对应关系,附数据库字段类型转java类型代码

    java的基本数据类型有八种: byte.short.int.long.float.double.char.boolean 总结java和mysql.oracle.pgsql数据类型对应关系 java ...

最新文章

  1. ELK(+Redis)+LogAnalyzer解决企业日志问题
  2. 零基础入门学习Python(33)-图形用户界面编程(GUI编程)EasyGui
  3. Android进阶知识:事件分发与滑动冲突(一)
  4. node-rsa加密,java解密调试
  5. JMS (Java消息服务) 入门教程
  6. webfunny前端监控
  7. SQL进阶六:字符串函数
  8. 创建DbContext
  9. 7、matplotlib条形图的绘制
  10. php mysql注入测试工具_PHP+MYSQL 【注入漏洞】攻防测试
  11. 天梯赛 - 一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字
  12. PostgreSQL下载地址
  13. c语言编写dxf文件吗,判断dxf文件的版本
  14. PHP 判断日期格式
  15. 前端表格导出为excel方法合集
  16. php 整型 范围,PHP Integer 整型
  17. 计算机仿真稿件没有消息,计算机核心期刊排名和投稿信息(2)
  18. 在windows下实时监控、接受文件变化小工具
  19. 对薛兆丰经济学思维的研究:价格的教益
  20. matlab simulink 代数环问题解决

热门文章

  1. 8个Python实用脚本
  2. python爬虫:做一个界面爬虫小软件
  3. vmware ubuntu 虚拟机每次启动都蓝屏怎么办?
  4. qt creator无法删除文件怎么办?(需要在cmakelists文件里配置)
  5. Python 计算机视觉(九)—— OpenCV进行图像平滑
  6. Python的第二种数据类型——String(字符串)
  7. 如何用item pipeline(管道)清洗数据
  8. mysql ——读写分离
  9. linux——数据库mariadb的基础操作
  10. php扩展实现hook,ThinkPHP3.2 扩展(钩子,HOOK)