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