在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数组。
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数组。
解决方案 »
- 解决SmartUpload下载中文文件名乱码的问题
- apache2+tomcat6集群,性能瓶颈
- 谁有JSP的随即生成四位彩色校验码的代码????以前我在网上见过,但现在想要了却怎么也找不到了
- jsp怎么取得页面上显示的值?
- 我在一个form中有二个发送键.如何判断我是按了那个发送键呀.谢谢
- 請問如何將請的對象加到vector的第一個.
- 使用PreparedStatement对象,往sql语句中的”?“设值,出现异常
- 如果没有java和sql基础,但是学过C++.对于用jsp开发小型企业内部网站半个月的时间能否完成?
- 哪里下载tomcat?
- 急求大神解决问题
- 时间的类型
- AJAX JQUERY JSON 回调函数传多参的问题
先要查询出数据!
hibernate 输出的sql是可以查出数据的,结果的list也有了相应数量的行,但是每一行没有列