当前位置: 代码迷 >> Java Web开发 >> Hibernate怎样多表查询,该怎么处理
  详细解决方案

Hibernate怎样多表查询,该怎么处理

热度:47   发布时间:2016-04-17 16:43:49.0
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的信息!
}
------解决方案--------------------
同上
  相关解决方案