读书人

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

发布时间: 2012-01-24 23:11:54 作者: rapoo

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

读书人网 >Java Web开发

热点推荐