oracle数据库的number类型映射成hibernate中的dojo文件时会变成BigDecimal,这给编程会造成一定的麻烦。以下是查找资料后的两种解决方法:


一、该dojo类和映射文件

   将dojo类的BigDecimal改成Long或Integer,相应的映射文件改成java.lang.Long或java.lang.Integer


二、建立数据库表的时候不要用number,因为number是很大的,或者用以下的设置

   

    1)如果不指定number的长度,或指定长度n>18

       id number not null,转换为pojo类时,为java.math.BigDecimal类型

       2)如果number的长度在10 <= n <= 18

       id number(n) not null,转换为pojo类时,为java.lang.Long类型

       3)如果number的长度在1 <= n <= 9

       id number(n) not null,转换为pojo类时,为java.lang.Integer类型