hibernate 映射 java oracle_Hibernate 4.x 如何映射oracle Clob字段?

现在的项目由于我升级了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,在配合以上我的配置即可!

问题关闭!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值