我的数据库中有以下表结构:
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;
...
}
现在我想从数据库中接收一个对象 A,其中包含由表 B 组合的所有 C 对象。我有接收正确对象 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;
有谁知道如何制定标准?