2

これは、実際の問題のダムダウン バージョンです。

私は3つのテーブルを持っていますSTUDENT ADDRESS CLASS

STUDENT ManyToOne ADDRESS STUDENT ManyToMany CLASS

同じ住所の生徒を全員連れて行き、同じクラスに通わなければなりません。

Sqlは単純です(これをその場で書いただけで、テストしていません)

Select * from STUDENT s join ADDRESS a on s.addressId = a.addressId join CLASS c on c.classId = s.classId

今、私はCriteriaを初めて使用し、これまで合理的に使用できましたが、この結合をどのように行うべきか、Oracle、Jbossなどのすべてのドキュメントを見てきましたが、これをどのように行うべきかについての指示はありません。私が暗闇の中で取った刺し傷は失敗しました。SO でも同じようなトーンの質問がたくさんありますが、それらを読むと、それは別の質問です。

4

2 に答える 2

0

Student クラスが JPA によって管理されるコレクションを定義すると仮定すると、JPQL クエリで結合を定義する必要はありません。Student オブジェクトを取得するだけで、OpenJPA がアドレスとクラスを自動的に取得します。

于 2012-11-20T17:44:35.443 に答える