我mysql数据库有个字段,存钱的,hibernate映射实体类变成了double,现在要做一个求和,五毛钱也不能少。但是返回值不知道怎么转换类型,因为是货币类型,肯定不能转换成int,不然精度会丢失
Session session = super.getSession().getSessionFactory().openSession();
Transaction ta = session.beginTransaction();
Query q = session.createQuery("select sum(t.b) from table t where 2 > 1");
q.setFirstResult(0);
q.setMaxResults(1);
double Spending = ((Long)q.uniqueResult()).doubleValue();
ta.commit();
session.close();报错提示这个:java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Long,求解,怎嘛解决?多谢
Session session = super.getSession().getSessionFactory().openSession();
Transaction ta = session.beginTransaction();
Query q = session.createQuery("select sum(t.b) from table t where 2 > 1");
q.setFirstResult(0);
q.setMaxResults(1);
double Spending = ((Long)q.uniqueResult()).doubleValue();
ta.commit();
session.close();报错提示这个:java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Long,求解,怎嘛解决?多谢
解决方案 »
- bean的属性设置问题
- openjpa.persistence.xml 错误
- 有关数据源的配置问题 高手进
- 高手请进:客户端如何测试webservice接口,如何算测试成功
- AXIS2 发布问题
- 关于Hibernate的session is closed问题请教大家理解方式??
- 感兴趣的都可以来讨论一下,究竟是技术重要还是一个好的idea重要?
- 非java写的的客户端调用ejb怎么办比较好?
- 关于EL表达式判断字符串是否匹配+网页是否正确跳转
- 新手求教,刚接触JBOSS,项目启动报错NoClassDefFoundError:org/jboss/virtual/VirtualFileVisitor
- lucene 多目录索引和单目录索引——查询效率如何提升
- 如何向数据库插入空值
或者你的意图是转换成long?
注意long和Long有很大区别另外,最好不要用double保存金额,用整数保存以分为单位的金额比较好
Spending = Double.valueOf(q.uniqueResult().toString());
}
if(q != null){
if (q.uniqueResult() != null){
Spending = Double.valueOf(q.uniqueResult().toString());
}
}