oracle/hibernate查询clob字段值死活都为null

3 篇文章 0 订阅
1 篇文章 0 订阅

先说下背景:我新入职公司不到两个月,我们的项目采用的tomcat配置文件链接项目webapp,同时由tomcat管理数据源(即在tomcat目录下conf\Catalina\localhost中配置项目路径兼数据源),eg:


<?xml version='1.0' encoding='utf-8'?>
<Context docBase="E:\Workspaces\MyEclipse 9\sinopeccoalv1\webapp" reloadable="false" path="\domain" privileged="true" antiResourceLocking="false" antiJARLocking="false">
<Resource name="StandardWorkDataSource" driverClassName="oracle.jdbc.driver.OracleDriver"
    url="jdbc:oracle:thin:@192.168.1.109:1521:orcl"
    username="xxxx"    password="xxxx"
    type="javax.sql.DataSource"
    maxActive="400"
    maxIdle="200"
    maxWait="5000"/>
</Context>

刚来的时候是同事给配置的这个,当初懵懵懂懂的,慢慢知道了这跟直接放到webapp的效果是一样的。

就这样开发了一个多月,一直没什么异常,今天突然发现同一个项目版本的一个页面,放在我的机子上运行报错,copy到同时的机子上运行,完全没问题。

导致报错的原因是:在我的机子上hibernate查不到类型为clob字段的属性值(没有抛出任何异常,debug时查看对象的属性值总为null),copy到同事的机子上部署后就能查出来了。

所以,主要问题就顺理成章的变成了:为什么同一个项目放在不同的机器上部署后,有的机器上的项目能查询出clob字段,有的就查不出来?

经过我一天的排查,原因终于找到了:是因为我的数据源是有tomcat管理的,而我没有吧oracle的jar包(oracle14.jar)放到tomcat目录下的lib中,这样就导致一些oracle比较特殊的字段类型查不出来数据值,但是从不抛出任何异常(这个比较纠结)。

解决方案:将oracle14.jar放到tomcat目录下的lib目录中。(由于在网上没有找到任何前车之鉴,所以这是我纠结一天的成果,拿出来分享一下。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值