创建查询连接hibernate,返回多个对象

时间:2016-03-29 08:36:07

标签: hibernate

我目前正在做以下事情:

 Query q = session.createQuery("select x,s.id from com.package.IdLookupHDO x JOIN com.package.SourceDataHDO s ON x.identifier = s.sourcePrimaryIdentifier");
        for (Object obj : q.list()){

        }

我认为此连接查询可以正常运行。但是我期望查询在list方法中返回对象数组,因为我在select(IdLookupHDO和id)中请求了两件事。 我已经四处搜索,找不到答案,但如何检索所选对象呢?

1 个答案:

答案 0 :(得分:3)

如果您的持久类中有相应的关联,则不需要on

Query q = session.createQuery("select x,s.id from IdLookupHDO x join x.sourceAssociation s");

此查询将返回List<Object[]>

List<Object[]> result = (List<Object[]>)q.list();

for (Object[] obj : result){
  // obj[0] is x
  // obj[1] is s.id
}