我正在使用EclipseLink JPA版本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]
表达。
我知道这样的查询不是最佳的,但是为什么它仍然不起作用?
最佳答案
它不知道如何将(p,i)映射到Object中,但是它应该能够管理投影。
您的映射必须不正确。检查关系。