データベースに次のテーブル構造があります。
Table A: Table B: Table C:
_______________________ ______________________________ ______________________
| Field | Type | Key | | Field | Type | Key | | Field | Type | Key |
______________________| |_____________________________| |_____________________|
| a_id | Int | PRI | | a_id | Int | FK of A(a_id)| | c_id | Int | PRI |
| ... ... | | c_id | Int | FK of C(c_id)| | ... |
|_____________________| ______________________________ |_____________________|
そしてオブジェクト:
class A {
List<C> list;
...
}
ここで、テーブル B によって結合されたすべての C オブジェクトを含むオブジェクト A をデータベースから受け取りたいと考えています。正しいオブジェクト A を受け取る基準はありますが、対応する C オブジェクトのリストを受け取る方法がわかりません。 :
Criteria crit = ...;
A a = crit.uniqueResult();
これは、正しい結果が得られ、基準で「翻訳」する必要がある SQL クエリです。
select c.*
from A as a,
B as b,
C as c
where a.a_id = b.a_id and b.c_id = c.c_id;
基準の策定方法を知っている人はいますか?