2011-02-03 11 views
0

私は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の実装

答えて

関連する問題