hibernate同时查两个表 hql语句

来源:百度知道 编辑:UC知道 时间:2024/09/24 13:13:39
我用的是ssh框架。要同时查询pinfo和indicharge这两个表的信息 hql语句怎么写啊。

我就这点积分 谢谢大家。帮忙
同时删出两个表的数据呢 sql怎么写啊

使用联合抓取,如果三张表有联系 ;
比如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<C>来接收。

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();

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 ];
}