2012-04-18 20 views
1

パーティー用とスコアカードテンプレートマッピング用の2つのテーブルがあります。スコアカードテンプレートマッピングテーブルには、当事者に戻ってきた外部キー(ID上)があります。スコアカードのテンプレートマッピングの詳細を持つすべての当事者のリストを探したい。JPAで左結合クエリを実行

しかし、私はというエラーを取得:

java.lang.IllegalArgumentExceptionが: org.hibernate.hql.internal.ast.QuerySyntaxException:予期しないトークン:ニアライン1、列172に を[選択新しい ScorecardTemplateMapping(pは、temMap.scoTemplate、temMap.wrkFlwTemplate)com.kpisoft.common.web.domain.Party pから はtemMap.organization.id = p.idと temMap.gradeTypeにScorecardTemplateMapping temMapを外部結合を残しました。 id =:gradeTypeここで、 p.organization.organizationTypeId =:orgTypeおよびp.clientId =:client p.organization.nameによってID 順]

は、これが私のクエリです:

クエリq = entityManager.createQuery(「新 ScorecardTemplateMapping(P、temMap.scoTemplate、temMap.wrkFlwTemplateを選択します) orgTypeとp.clientId =:pで 順序をCLIENTID p.organization.organizationTypeId =はgradeTypeを:パーティPから はtemMap.organization.id = p.idに外部結合ScorecardTemplateMapping temMapを去り、temMap.gradeType.id = 。組織名");

なぜこれが機能しないのかわかりません。助けてください!構文エラーについて

答えて

1

エラーメッセージは非常に明確である:

unexpected token: on 

はJPQLで[条件] ON(ONが単語を予約されていない)と結合させるためにはサポートされていません。 JPQLでの結合方法は、例えばhereです。それはwhere節にjoin条件を提示しなければならないということになります。