A(对于B,C是的一的一方)  B(对于A是多的一方 对D是一的一方) D(对于B是多的一方 ) C(对于A 是多的一方)
根据A.ID取出ABCD 返回A的对象 求一条HQL       B(N)(1) -D(N)
A (1)- 
       C(N)大概是这样的

解决方案 »

  1.   

    一对一?hibernate有这种关系?
      

  2.   

    1对多 A是1 BC是多  B是1 D是多
      

  3.   

    有些时候,写一条HQL的语句不一定效率就是高的,在多表查询的时候,太复杂的语句反而会导致效率下降。我一般遇到这种问题的时候,都是分别在每个表中都查一次,最后拼装起来的。
    例如lz这个问题,我应该会根据A.id找到A的实体,再查B,C,D,最后组装起来