私はUser
オブジェクトを持っていて、オブジェクトのコレクションはTransaction
です。私は私のUser
オブジェクトのオブジェクトIDを格納し、今合計ユーザーオブジェクトの下取引にクエリを必要とするオブジェクトIDを使用したJDOクエリ
:User
のオブジェクトIDを指定する
@Persistable
public class User {
private String username;
private Collection<Transaction> transactions
//...getter/setters...
}
@Persistable
public class Transaction {
private int txnAmount;
//...getter/setter...
}
、私はすべての合計をしたいですUser.transactions
コレクション内のTransaction.txnAmount
のです。
この時私のショットはした
Query query = pm.newQuery(User.class);
query.setFilter("JDOHelper.getObjectId(this) == :userIDParam");
query.setResult("sum(transactions.credits)");
query.execute(userID);
私はそれは(私はそれを使用してIDでUserオブジェクトを照会するためにそれを使用することができます)でなければなりませんよう、ユーザーIDが実際のデータベース識別子オブジェクトであることを確認しました。 db4oのを使用して
を照会する方法の起動「JDOHelper.getObjectIdは」ヌルであるが、これは現在SODAによってサポートされていません。
javax.jdo.JDOException:しかし、私はquery.execute()メソッドで例外を取得しますデータストアとして、JDOの実装