gpt4 book ai didi

java - 使用对象 ID 进行 JDO 查询

转载 作者:行者123 更新时间:2023-12-01 15:56:57 25 4
gpt4 key购买 nike

我有一个 User 对象,它下面有一个 Transaction 对象的集合。

我存储了 User 对象的对象 ID,现在需要一个查询来求和 User 对象下的事务:

    @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);

我已经验证 userID 确实是一个数据库标识符对象,因为它应该是(我可以使用它通过 ID 查询用户对象)。但我在 query.execute() 方法中遇到异常:

javax.jdo.JDOException:调用方法“JDOHelper.getObjectId”为 null,但 SODA 查询当前不支持此操作

使用DB4O作为数据存储,DataNucleus 2.2.1作为JDO实现

最佳答案

我强烈感觉这个问题与下面发现的错误报告有关:

http://www.datanucleus.org/servlet/jira/browse/NUCDBFO-48

关于java - 使用对象 ID 进行 JDO 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4882316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com