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 は 1 時間ほど前にリリースされました ;-)

于 2010-11-12T17:19:09.663 に答える