我正在使用EclipseLink JPA ver 2.5.1。
我有3个查询,只有返回的列不同。
以下查询正确执行:
1)
SELECT p.id, i.id
FROM PtpFSP_R7DBImpl p, IntraNeConnectionDBImpl i
WHERE i.neID=:neId AND i.neID=p.neID AND ((i.entityAEndpointAidString = p.aidString)
OR (i.entityBEndpointAidString = p.aidString))
2)
SELECT p
FROM PtpFSP_R7DBImpl p, IntraNeConnectionDBImpl i
WHERE i.neID=:neId AND i.neID=p.neID AND ((i.entityAEndpointAidString = p.aidString)
OR (i.entityBEndpointAidString = p.aidString))
为什么以下一个会返回异常?:
3)
SELECT p, i
FROM PtpFSP_R7DBImpl p, IntraNeConnectionDBImpl i
WHERE i.neID=:neId AND i.neID=p.neID AND ((i.entityAEndpointAidString = p.aidString)
OR (i.entityBEndpointAidString = p.aidString))
例外(这似乎是无稽之谈)如下:
异常[EclipseLink-6015](Eclipse持久性服务 - 2.5.1.v20130918-f2b9fc5):org.eclipse.persistence.exceptions.QueryException异常 说明:无效的查询键[entityAEndpointAidString] 表达
我知道这样的查询不是最优的,但为什么它仍无法正常工作?
答案 0 :(得分:0)
它不知道如何将(p,i)映射到Object中,但它应该能够管理投影。 您的映射必须不正确。检查关系。