您的位置:首页 > 数据库 > Oracle

最近用Oracle的时候出的一个问题

2010-08-23 10:29 316 查看
最近用Oracle的时候存中文出现一个问题,以前存中文都没出现过,现在我很郁闷,问题是这样的:

当我要保持一个Log对象是,Log是Java类,表示的时错误信息,里面就一个Info总段,保存的时候出现:ORA-01438: 值大于为此列指定的允许精度,但我这个字段是4000字节的,怎么可能呢,而且info的长度也就10多个汉字吧,网上一查有人说是因为字符集的问题,遇上我就这样处理:

    Log log = new Log();

     xxxxx

        一些setter

     xxxxx

   logManager.saveWeatherLog(log);

无论我用utf-8,gbk,gb2312照样出这问题,不知道是怎么回事。

最后我请教项目经理了,这个问题太隐蔽了,项目经理经过一番调试、侦查,终于在下午的时候得出结论并解决了问题,原来是我在setter的过程中查询了另一张表,用hibernate修改了对应的实体,虽然我logManager.saveWeatherLog(log);的时候没有saveOrUpdate其他任何东西,但由于事务的原因,Hibernate自己去saveOrUpdate了,因此就导致了上述问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐