2011-02-03 3 views
0

나는 컬렉션을 가진 User 개체를 가지고 있습니다.개체 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 감안할 때, 나는 모든의 합을 원하는 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로 사용자 개체를 쿼리하는 데 사용할 수 있습니다)한다로 사용자 ID는 데이터베이스 식별자 객체가 실제로 있음을 확인했습니다. 하지만 난 query.execute() 메소드에서 예외가 : javax.jdo.JDOException

"JDOHelper.getObjectId는"널에 있지만이 현재 소다를 지원하지 않습니다 호출 방법으로는 db4o는 사용

를 조회 JDO 구현과 데이터 저장소, DataNucleus 2.2.1로

답변