如何在 Hibernate 查询语言中执行左连接?

2023-11-26

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


In HQL您可以使用LEFT JOIN仅与主实体中的链接属性相关:

Sample

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 问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Hibernate 查询语言中执行左连接? 的相关文章

随机推荐