0
我有3个表。 A,B,C。 A具有一对多与B. B具有一对多与C.休眠从多个表中取回数据
数据在表是,
TABLE A
id
10
15
TABLE B
id firstName AandB_Relation_Key
55 Abc 10
66 Pqr 10
77 xyz 10
88 ddd 15
TABLE C
id phone_no CandB_Relation_key
41 44444 77
42 55555 77
43 66666 77
44 88888 66
我想检索表C取决于ID从表A的数据单查询这样一种方式
如果表B有相关的记录在表C,我想显示从B和C两个记录,否则只从表B记录(即这里firstName“xyz”有多个电话号码,所以我会显示xyz = 44444,55555,66666,ddd没有电话号码,所以只有ddd)
目前我做如,
a)从表B中的所有ID,其中AandB_Relation_Key =从表A // ID其返回从表B对ID的所有的ID从表A
B)然后即时c)从表C中选择count作为从表C中选择count(*),其中id =从a检索到的ID)
c)如果count> 0,从表B中选择firstName,phoneNo,C
d)其他从表B中选择名字
谢谢。
not worked.missing关键字错误。 – user1517605 2012-07-21 09:44:28
umm。检查hibernate文档,当然我没有真正测试过,但是这个想法应该是非常有用的。 – 2012-07-22 08:52:50
而不是列表,你也可以尝试映射或你自己的类与构造函数接受两个字符串。 – 2012-07-22 08:56:55