繁体   English   中英

在JPA中执行左联接查询

[英]Execute left join query in JPA

我有两个表,一个用于聚会,一个用于记分卡模板映射。 记分卡模板映射表具有一个返回到聚会的外键(在id上)。 我想找到具有记分卡模板映射详细信息的所有参与者的列表。

但是我得到一个错误,它说:

java.lang.IllegalArgumentException:org.hibernate.hql.internal.ast.QuerySyntaxException:意外令牌:在第1行附近的第172列[从com.kpisoft.common中选择新的ScorecardTemplateMapping(p,temMap.scoTemplate,temMap.wrkFlwTemplate)。 web.domain.Party p左外连接temMap.organization.id = p.id和temMap.gradeType.id =:gradeType上的ScoreMapTemplateMapping temMap,其中p.organization.organizationTypeId =:orgType和p.clientId =:clientId按p顺序排列。机构名称]

这是我的查询:

查询q = EntityManager.createQuery(“选择新的ScorecardTemplateMapping(p,temMap.scoTemplate,temMap.wrkFlwTemplate)从缔约方p左外加入temMap.organization.id = p.id和temMap.gradeType.id =:gradeType上的ScoreMapTemplateMapping temMap p.organization.organizationTypeId =:orgType和p.clientId =:clientId按p.organization.name的顺序排列”);

我不知道为什么这不起作用。 请帮忙!

有关语法错误的错误消息非常清楚:

unexpected token: on

在JPQL中不支持使用ON [有条件]进行联接(ON不是保留字)。 如何在联接JPQL制成,被告知例如这里 归结为,您必须在where子句中提出连接条件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM