0

簡単な質問です。a_fk が A のテーブル外部キーで、b_pr が B の主キーである 2 つのテーブル A と B を結合します。A と B の関係は 1 対 1 の双方向です。A と B は、A と B のテーブル エンティティ クラスに対応しています。
私は jpql クエリを持っています"select b from A a, B b where a.a_fk=b.b_pr";Eclipse は、列 a_fk が存在しないと言ってコンパイルに失敗します。Native sql クエリを作成し、同じ sql ステートメントをチェックしましたが、もちろん適切な sql に変換しました。そして、これは機能します。

質問: JPQL は外部キーをサポートしていませんか?

4

1 に答える 1

0

JPQLは、エンティティとエンティティ間の関連付けを使用します。テーブル、列、外部キーは使用しません。

Bを持つすべてのAsを選択する場合、クエリは次のようになります。

select a from A a inner join a.b

あなたが彼らのBと同じようにすべてを選択したい場合

select a from A a left join fetch a.b

JPAの基本的な概念を理解していないので、JPAに関する本を読んでください。

于 2012-07-11T17:37:30.640 に答える