这是我的HQL查询,但它无法正常工作并抛出错误。
Hql查询:
SELECT
*
FROM
TABLEA A
LEFT JOIN
A.TABLEB B
WHERE
A.COLUMNNAME = B.COLUMNAME
并导致此错误:
org.hibernate.QueryException:
This Query caught Exception. could not resolve property: of TABLEB:TABLEA.
我该如何解决这个问题?实际上我从多个表中检索了一个值。此查询不适用于CreateQuery(strQuery)
。
答案 0 :(得分:12)
在HQL
中,您只能将LEFT JOIN
用于主要实体中的链接属性:
示例
EntityA有一个EntityB类型的对象entityB,所以你可以
SELECT A FROM EntityA A LEFT JOIN A.entityB B WHERE ...
如果EntityA没有entityB属性但是EntityB有一个属性entityA,你就不能这样写:
SELECT A FROM EntityA LEFT JOIN EntityB B WHERE B.entityA = A
因为你有错误。这是一个尚未解决的Hibernate问题。