为什么我在使用 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 关联 lines
和 Line
实体,正确的 JPQL 连接看起来像这样:
select o.id, l.id from Order o left join o.lines l
以下是我在 运行 此查询时收到的异常消息。 请告诉我错误是什么?
查询:
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 关联 lines
和 Line
实体,正确的 JPQL 连接看起来像这样:
select o.id, l.id from Order o left join o.lines l