代码之家  ›  专栏  ›  技术社区  ›  David Parks

当我在JDO/DataNucleus中为聚合函数调用setResultClass(…)时,将引发JDouseException

  •  0
  • David Parks  · 技术社区  · 14 年前

    使用以下代码

        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.jdouseException:查询 将返回一个字段,但它是 不属于与 REST类(java. Lang.Lon):它是 JavaLang.Lon

    如果我删除 .setResult(Long.class) 查询它的工作,我会回来很长时间。

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

    1 回复  |  直到 14 年前
        1
  •  1
  •   DataNucleus    14 年前

    那是几天前定的。幸运的是,2.1.3版和2.2 m3在大约一小时前发布;-)