在 HQL 中加入多个 OR

JOIN with multiple OR in HQL

下面是一个 SQL 查询,其中包含多个连接和条件,可提供所需的输出,我想将下面的查询转换为 HQL

select * from customer c 
join customer_geo_rel cg on c.id=cg.customer_id
join geography g on cg.geo_id=g.id   
join geo_geo_hierarchy gghCluster on g.id = gghCluster.geo_id
join geo_geo_hierarchy gghDivision on gghCluster.geo_id = gghDivision.parent_geo_id   
join role_data_rel rdr on gghCluster.geo_id = rdr.permission_data_id OR   
gghDivision.parent_geo_id = rdr.permission_data_id OR   
g.id=rdr.permission_data_id

有什么问题吗? HQL 支持连接的 ON 子句,如果您使用非常旧版本的 Hibernate,您可以使用 WITH 子句,例如.. join g.roleDataRelList rds on ...