0

使用以下代码

    Query query = pm.newQuery(User.class);
    query.setFilter( "username == :usernameParam" );
    query.setResult( "count(username)" );
    query.setResultClass(Long.class);
    Object result = query.execute(username);
    return (result!=null && (Long)result>0);

我得到这个例外:

javax.jdo.JDOUserException:查询将返回单个字段,但它与 ResultClass (java.lang.Long) 的类型不一致:它是 java.lang.Long

如果我删除.setResult(Long.class)查询,它会起作用,我会得到一个 Long。

也许我不明白这个setResult()方法。我知道我需要设置它来指示我想要什么类型的结果。但是,对于诸如 之类的聚合函数,情况不是这样count()吗?

4

1 回答 1

1

几天前就修好了。幸运的是,2.1.3 和 2.2 M3 版本在一小时左右前发布;-)

于 2010-11-12T17:19:09.663 回答