标签:
1、之前在做项目的时候,数据库是用powerdesigner设计的,由于当时设计的时候没注意,int的类型 没给长度
在生成数据库的时候,oracle默认给你生成的类型是BigDecimal这种大类型的。当时还觉得没什么。后台存的时候new一个BigDecimal出来再存就是
可是后来 一位同事在统计数据记录的时候,count(*)统计出来的也是BigDecimal 这时候用hibernate转很麻烦
如果是int类型 那么hibernate转的方式:
int count =((Long)createQuery(hql).uniqueResult()).inValue()
但是如果是上面我那种犯了小错误的
就应该是这样转:
BigDecimal b=new BigDecimal(((Long)createQuery(hql).uniqueResult()).inValue());
int i=b.intValue();
这时的i才是int型,之前因为没有处理过BigDecimal这种类型。虽然帮他解决了,但是不知道有没什么简单的方法,如果有 大家给点意见
创建oracle表的时候一个小细节,会导致你处理java类型转换是时候很蛋疼
标签:
原文地址:http://www.cnblogs.com/qaz110/p/4746940.html