数据库中 某字段 为 XXX00000000 这样的12位字符串  每次用Hibernate查询的时候会报 
ERROR [org.hibernate.util.JDBCExceptionReporter] - 数字溢出
在不改变数据库的情况下 hibernate中的配置或者SQL 该如何处理呢?? 而且我只是查询该表的该字段时出的错

解决方案 »

  1.   

    select max(grbh+1) from com.eway.vo.Ryjb ry where ry.grbh like '"+ userplace + "%'"
    这个是HQL   
    <id name="grbh" type="java.lang.String">
                <column name="GRBH" length="18" />
    </id>
    配置是String  怎么会提示数字溢出呢?
      

  2.   

    varchar2(18)
    oracle 数据库
      

  3.   

    select max(grbh+1) as grbh from com.eway.vo.Ryjb ry where ry.grbh like '"+ userplace + "%'" grbh+1你要的目的是什么?
    如果grbh 不是数字的话 你这样就会报错如果想在后面加个1 那应该加单引号 '1'
      

  4.   

    不是吧,lz遇到的不是sql错误,而是hibernate错误,我测试了一下,以下语句没有问题
    select max('99900000000'+1) as grbh from dual
    可能是hiberante把它当数字,加上个to_char或许就好了。
    select to_char(max('99900000000'+1)) as grbh from dual