我对hibernate标准有疑问。标准在没有记录时显示列表大小1
当列表中没有记录时,我将列表大小设为1。当我打印列表时显示为列表[null]。
我的代码:
final Double depositAmount = (Double)session.createCriteria(vardhanDep.class)
.add(Restrictions.eq("userDetByCrtbyUserid", userid))
.add(Restrictions.eq("delflag","0"))
.setProjection(Projections.sum("amount"))
.list().get(0);
帮助我解决这个问题
这似乎正是它应该做的。什么是问题?你想要它做什么?另外,看到用于存储某种东西的IEEE浮点表示有些令人担忧:) – Affe 2010-12-11 09:08:42
我同意Affe对使用浮点类型(在您的情况下为Double)中与金钱有关的事情感到非常惊讶。我感兴趣的是浮点并不总是表示您认为它的确切数字,并且它有时表示最接近可能的浮点数,而不是您认为它的数字。例如,如果将双精度定义为0.9,那么它实际上将是最接近的双精度值,即0.8999999999999999。说到钱,这当然可以是可怕的。改用Bigdecimal。 – Tim 2010-12-11 10:55:50
顺便说一句,如果你使用BigDecimal,使用* String *构造函数而不是* double *构造函数,否则你会遇到同样的问题。 – Tim 2010-12-11 11:01:38