hibernate同时查两个表 hql语句

2024-11-30 04:45:40
推荐回答(3个)
回答1:

使用联合抓取,如果三张表有联系 ;
比如A B C ,B中含A的外键 C中含B的外键 ;
hql比如:from C c join fech c.bb b join fetch b.aa a where a.id=1
如果是结果是一条记录的话,就用C c来接收。
如果是多条的话,就用List来接收。

回答2:

select Pinf.a as a, Pinf.b as b, Indichange.d as d from Pinf, Indicharge where xxxxxxxxx

不transfer的话,query.list()默认查出来的是一个Object[]的list,
for iterator list :
Object[] objs = (Object[]) iterator.next()
Pinf.a 对应objs[0]....依次类推

同时删除2表:
sql = "truncate table1;truncate table2";
或者
sql = "delete from table1; delete from table2";
session.createSQLQuery(sql).execute();

回答3:

List list = session.createQuery(sql);
Iterator it = list.iterator();
while (it.hasNext()) {
Object[] OBJ= (Object[]) it.next();
Class1 c1 = (Class1) OBJ[ 0 ];
Class2 c3 = (Class2) OBJ[ 1 ];
}