次のコードで
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()
か?