在hibernate2里想用本地sql执行一个union查询,查询结果没有对应的数据库表,不想做映射,想直接返回Object[]
sql如下的形式
select m.node_title as title,
               m.map_node_id as nodeid,
               '1' as resulttype
          from im_nodemap m
         where m.node_Title like :str
        union
        select a.node_attribute_name as title,
               a.map_node_id as nodeid,
               '2' as resulttype
          from im_nodeattribute a
         where a.node_Attribute_Name like :str
         order by title
List tempList = (List) getHibernateTemplate().execute(
new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query q = session.createSQLQuery(sql,new String[]{},new Class[]{});
q.setFirstResult((pageNo - 1) * pageSize)
.setMaxResults(pageSize);
q.setParameter("str", str);
List l = q.list();
return l;
}
});可是返回的却list.get(i)是一个长度为0的Object[],看教程上的都在new String[]{},new Class[]{。。}指定了实体类和别名,可是我这里根本不需要指定实体类,我只想把行返回成一个objct数组。