8

这是我的 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).

4

1 回答 1

13

HQLLEFT 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 

因为你有一个错误。这是一个尚未解决的休眠问题。

于 2013-09-01T16:59:37.913 回答