读书人

Hebernate多表查询结果集组建方法

发布时间: 2012-08-03 00:12:14 作者: rapoo

Hebernate多表查询,结果集组装方法

1.编写连表sql,注意hql与sql的区别即可

?

?String hql = "select pi.id,pi.nam,pm.mId,pm.mversion from PM pm, PI pi where pm.id=pi.id and pm.mId =:mId";

?

2.打开查询

?

?

QueryParams q = new QueryParams();q.addParam("mId", mId);List result = query(hql, q);Iterator it = result.iterator();
?public List query(final String hql, final QueryParams queryParam) {return (List) getHibernateTemplate().execute(new HibernateCallback() {public Object doInHibernate(Session session) {Query resultQuery = session.createQuery(hql);resultQuery.setCacheable(cacheable);resultQuery = QueryParams.setParams(resultQuery, queryParam);List reval = resultQuery.list();return reval;}});}

?3.装配查询结果

?

List<DemoBean> beans = new ArrayList<DemoBean>();while (it.hasNext()) {DemoBean bean = new DemoBean();Object[] tuple = (Object[]) it.next();bean.setId((Integer)tuple[0]);bean.setName((String)tuple[1]);bean.setMId((Integer)tuple[2]);bean.setMversion((String)tuple[3]);beans.add(bean);}
?

这样整个查询就完成了,简单方便。

?

读书人网 >开源软件

热点推荐