又一个jdbc版本兼容性的问题

阅读更多

很不幸,一个遗留系统的数据库是oracle817,要使用最新的jdbc版本,比如10g(方便解决CLOB)之类的,就得经常测试兼容性问题。

 

不巧碰上了这个问题,如同:

Hibernate 中插入Sequence主键数字变成科学计数法

 

一步一步排查

1/换8i驱动,没问题

2/保留10g驱动,使用jdbc来插入,没问题

3/保留10g驱动,当去掉timestame映射的Date型字段的时候,没问题

 

总之是一个很难解释,很难总结google关键词的问题

 

柳暗花明

http://opensource.atlassian.com/projects/hibernate/browse/HHH-1566

 

Timestamp映射到Date型字段,居然能造成其他字段出错,还是有点匪夷所思。

 

hibernate不解决这个问题之前,在环境变量中加入oracle.jdbc.V8Compatible=true。问题解决。CLOB直接作为string来读写也正常。

你可能感兴趣的:(JDBC,Hibernate,Oracle,OpenSource,Google)