概述
现在的项目由于我升级了Hibernate 3.x 到 4.x之后,已有的一个字段已经在Oracle数据库中映射为CLOB类型,原来3.x的映射方式如下:
@Lob
@Basic(fetch = FetchType.EAGER)
@Column(columnDefinition="CLOB", nullable=true)
public String getWkt() {
return wkt;
}
升级为4.x(4.2.6)之后出现了一个Exception:
java.lang.AbstractMethodError: oracle.jdbc.driver.T4CPreparedStatement.setCharacterStream(ILjava/io/Reader;J)V
at org.hibernate.type.descriptor.sql.ClobTypeDescriptor$4$1.doBind(ClobTypeDescriptor.java:114)
.........
我在网上寻找了多中答案,还是没有解决,我找的答案有如下几种:
升级ojdbc驱动(问题依旧),我使用的驱动为ojdbc14.jar和ojdbc6.jar
增加Hibernate全局配置:hibernate.jdbc.use_streams_for_binary=true
增加Hibernate的Type注解:@Type(type="org.hibernate.type.MaterializedClobType")
以上的尝试问题仍没有解决!
所以我想求助各位前辈,能够给小弟一个正确的使用Hibernate 4.x 和JPA映射CLOB类型字段的例子?
各位不好意思,我已经找到问题了:是我自己粗心,使用的OJDBC的版本有问题,我很久前把老版本的JAR包放到JRE的LIB/EXT中导致了我在测试段更改OJDBC版本没有起作用。呵呵,谢谢各位!
解决办法:将ojdbc14.jar升级为ojdgc6.jar,在配合以上我的配置即可!
问题关闭!!!!!
最后
以上就是开心铃铛为你收集整理的hibernate 映射 java oracle_Hibernate 4.x 如何映射oracle Clob字段?的全部内容,希望文章能够帮你解决hibernate 映射 java oracle_Hibernate 4.x 如何映射oracle Clob字段?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复