0
我有一個User
對象,其中包含一個Transaction
對象的集合。使用對象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
的對象ID,我希望所有的總和Transaction.txnAmount
位於User.transactions
集合中。
我在這個鏡頭是:
Query query = pm.newQuery(User.class);
query.setFilter("JDOHelper.getObjectId(this) == :userIDParam");
query.setResult("sum(transactions.credits)");
query.execute(userID);
我已驗證的用戶ID確實是一個數據庫標識符的對象,因爲它應該是(我可以用它來查詢通過ID使用它的用戶對象)。但我在query.execute()方法得到一個異常:
javax.jdo.JDOException:調用方法「JDOHelper.getObjectId」是零,但這個目前不支持SODA查詢
使用DB4O作爲數據存儲,DataNucleus將作爲2.2.1 JDO實現