为什么我在使用 toplink 的 JPQL 连接查询中出现异常?

Why am I getting exception in JPQL join query using toplink?

以下是我在 运行 此查询时收到的异常消息。 请告诉我错误是什么?

查询:

select w.tagName,w.tagDescription, f.chosenDate from TagEntity w LEFT JOIN TagFavouriteEntity f ON w.tagId=f.tagId

异常:

Syntax error parsing the query [select w.tagName,w.tagDescription, f.chosenDate from TagEntity w LEFT JOIN TagFavouriteEntity f ON w.tagId=f.tagId], line 1, column 95: syntax     error at [f].
Internal Exception: line 1:95: expecting DOT, found 'f'

我有两个实体:TagEntity 和 TagFavoriteEntity。 他们之间没有关系。它们之间只有一个属性"tagId"是共同的,也是TagEntityclass的主键。

JPQL 不是 SQL。这不是在 JPQL 中表达连接的方式。 JPQL 使用实体之间的关联。您没有 post 您的实体,所以让我们假设您有一个 Order 实体,该实体具有 OneToMany 关联 linesLine 实体,正确的 JPQL 连接看起来像这样:

select o.id, l.id from Order o left join o.lines l