如何使用hibernate创建从两个表中获取数据的条件

时间:2014-01-24 09:56:22

标签: hibernate hibernate-criteria

我想在hibernate中使用此查询从两个表中获取数据:

select info.gwid,info.companyId,info.gwUserId,info.create_dt,stat.status,stat.lastactivity from gwinfo as info JOIN gwstatusinfo as stat ON info.gwid=stat.gwid

我试过这样的休眠:

Query query = session.createQuery("from SBoxInfo sinfo,SBoxStatus sstatus on sinfo.gwId = sstatus.gwId");
List<SBoxInfo> listOfSBoxs = (List<SBoxInfo>)query.list();

但它没有以SBoxInfo类型返回列表。我是否必须为此制定标准? 如何创建上述查询的条件以在SBoxInfo类型列表中检索结果?

1 个答案:

答案 0 :(得分:0)

通过创建这样的标准来完成:

Criteria ct = session.createCriteria(SBoxInfo.class);
ct.setFetchMode("SBoxStatus", FetchMode.JOIN);
List<SBoxInfo> listOfSBoxs = ct.list();