这是我的 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)
.
最佳答案
在 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 问题。
关于oracle - 如何在 Hibernate 查询语言中执行左连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18545390/