私はJPAを初めて使っているので、潜在的に愚かな質問のために私をあまりにも蹴ってはいけませんが、Googleは私に答えを与えていませんでした。JPQLで複数のManyToOne関連エンティティから特定のフィールド値を取得するにはどうすればよいですか?
私はPostreSQLデータベースを使用しています。私は、エンティティOneとエンティティTwo(List two)との関係がManyToOne
であり、エンティティTwoはエンティティThree(List three)との関係がManyToOne
であるとします。
3つのエンティティはすべて、独自のIDフィールドを持っています。
したがって、JPQL
と私は次のクエリを実行しようとしています: "SELECT o.two.ID, o.two.three.ID FROM One o WHERE o.ID = 1 GROUP BY(o.two.ID, o.two.three.ID)"
。
しかし、私が受け取るすべてがo.two.ID
がGROUP BY
で指定する必要がありますが、それは既に存在だとpg_logのレコードがありInternal Server Error
、SQLGrammarException
とSQLState: 42803, Character code: 8.
です。
私はあなたがグループの括弧を必要としないとは確信していません。試してみる価値があるかもしれません。そして、GROUP BYの中でSELECTに 'o.two.three.ID'、そして' o.three.ID'を持っていることに気付きました。これらは一致する必要があります。 –
あなたはグループなしで試しましたか? – Desorder
@Narain Mittalはい、グループ括弧なしで試しましたが、何も変わりませんでした。そして、申し訳ありませんが、3桁のスペルミスがあるように見えます。質問を書いているうちに、それは3つです。私は今問題を解決します。 – htshame