我正在使用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中,但是它应该能够管理投影。
您的映射必须不正确。检查关系。

09-16 05:47