java:BigDecimal还是Integer有什么区别??Oracel保存的数值类型对应java,java中用什么类型好?
java中与Oracle数据库对应的数据类型,当数据库保存为Number,或者别的类型,java中用什么类型好?我发现,我们的后台,int几乎不要用到诶,都是用Integ...
java中 与 Oracle数据库对应的数据类型,当数据库保存为Number,或者别的类型,java中用什么类型好?我发现,我们的后台,int 几乎不要用到诶,都是用Integer什么原因?
展开
5个回答
展开全部
第一个问题:
二者的区别就是运算后的精度问题,这个在对结果精度要求很高的情况下使用,如银行系统,电子商务交易。
第二个问题:
Number可以对应java中任意的数字类型,如整型和浮点型,java中选取当然还是和业务有关啦。
第三个问题:
最后一点说的就是开发经验了,有经验的人都这么干,为的就是能更好更直接的与数据库映射,更方便的使用框架进行开发如hibernate。
二者的区别就是运算后的精度问题,这个在对结果精度要求很高的情况下使用,如银行系统,电子商务交易。
第二个问题:
Number可以对应java中任意的数字类型,如整型和浮点型,java中选取当然还是和业务有关啦。
第三个问题:
最后一点说的就是开发经验了,有经验的人都这么干,为的就是能更好更直接的与数据库映射,更方便的使用框架进行开发如hibernate。
更多追问追答
追问
我想再问:当我用BigDecimal 来定义实体类时,报了个错:
org.hibernate.PropertyAccessException
后来我将类型改成Integer,又能成功执行了。你觉得这是什么原因??
数据库里面为Number类型,没有小数。
追答
Java数据类型 Hibernate数据类型 标准SQL数据类型(不同的DB可能有所差异)
java.math.BigDecimal big_decimal NUMERIC
映射的配置出问题了,导致映射不过去。
展开全部
Integer是int的封装类,可以为null,所以映射一般为Integer,hibernate中也是这样的,推荐用封装类映射。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在后台写实体类时,int与Integer都可以,建议使用Integer,一切皆对象。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
BigDecimal和Integer精度不同 ,int 默认值为0; Integer 可以为 null。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用Integer吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询