日期:2014-05-18  浏览次数:20669 次

Hibernate怎样多表查询
          A表
          ID   INT
          NAME   NVARCHAR
         
          B表
          ID   INT
          BN   NVARHCAR
          CID   INT   (这是B的外键参照A(ID))
         
          Query   q   =   session.createQuery( "from   B ");
          List <B>   q.list();
          可得到B表的所有行。
          我想得到的每行的数据为:B表所有字段和A表NAME字段。请问怎样使用HQL?
          如果可以,那么得到的q.list()返回的List里每条数据是什么类型,怎么取出来啊?
          (A---B是一对一关系,我没有在映射中设置one-to-one)

------解决方案--------------------
List cells=session.createQuery( "select B,A from A,B where A.ID=B.CID ");
返回一个list
Iterator cellsIter = cells.iterator();
Object [] obj;
while (cellsIter.hasNext()) {
obj = (Object[]) cellsIter.next();
obj[0]保存的B;
obj[1]保存的A的信息!
}
------解决方案--------------------
同上