4
我使用Google App Engine。当我尝试做一个JPA查询这样的:如何在Google App Engine的ManyToOne方面通过其父母过滤实体
SELECT p FROM Participant p
WHERE p.party.id = :partyKey AND p.name=:participantName
我收到以下错误
Caused by: org.datanucleus.store.appengine.FatalNucleusUserException:
SELECT FROM Participant p WHERE p.party.id = :partyKey AND p.name=:participantName:
Can only reference properties of a sub-object if the sub-object is embedded.
我给了党的对象作为参数的关键“partyKey”命名的参数。
模型是这样的:派对有多个参与者。
我想根据参与者和参与者的姓名查询参与者。我只是无法弄清楚如何使用派对过滤。我有什么选择?
我也尝试以下查询:
SELECT FROM Participant p
WHERE p.party = :party AND p.name=:participantName
,但它会导致以下错误:
Caused by: org.datanucleus.store.appengine.FatalNucleusUserException:
SELECT FROM Participant p WHERE p.party = :party AND p.name=:participantName:
Key of parameter value does not have a parent.
我正在使用JPA,该文档是针对JDO的。我如何声明一个父-PK字段? – palto 2010-06-13 15:48:06
@palto:是的,文档是用于JDO的,但是这也适用于JPA。我同意,GAE的JPA文档很糟糕(它就像Google不希望你使用JPA)...... – 2010-06-13 15:59:54