gpt4 book ai didi

java - JDO - 按父级查询/链接子级(Google App Engine)?

转载 作者:行者123 更新时间:2023-12-02 07:02:19 26 4
gpt4 key购买 nike

我一直在尝试让 JDO 处理父/子关系,但没有取得太大成功。使用关系设置如here所示和查询如所见here ,我希望能够将子级链接到父级,然后能够查询给定父级的所有子级。不幸的是,我似乎没有正确询问 children 。我不断收到错误:

 Class Parent for query has not been resolved. Check the query and any imports/aliases specification

这是我的代码的样子。首先是父类:

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Parent
{
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@SuppressWarnings("unused")
@Persistent(mappedBy = "parent")
private ArrayList<Child> children;
@Persistent
private String name;

//...
}

子类:

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Child
{

@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
private Parent parent;
@Persistent
private String name;

//...
}

最后,我尝试的查询如下所示:

Query q = pm.newQuery(Child.class);
q.setFilter("parent = parentParam");
q.declareParameters("Parent parentParam");
@SuppressWarnings("unchecked")
List<Child> childList = (List<Child>) q.execute(someParent);

有什么建议我可能做错了什么吗?非常感谢!

最佳答案

因此在declareParameters调用中定义“Parent”的包。它不在根包中,是吗?而且 JDOQL 不允许赋值“=”,应该是“==”……就像 Java 中一样,因为 JDOQL 使用 Java 语法。

关于java - JDO - 按父级查询/链接子级(Google App Engine)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16490293/

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