首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

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

2012-01-24 
Hibernate怎样多表查询A表IDINTNAMENVARCHARB表IDINTBNNVARHCARCIDINT(这是B的外键参照A(ID))Queryqsessi

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的信息!
}
[解决办法]
同上

热点排行