hibernate调用存储过程返回结果集的问题 10
SQLQueryquery=getSession().createSQLQuery("{callproc_query(?)}");此proc_query存储过程是查询所有...
SQLQuery query=getSession().createSQLQuery("{call proc_query(?)}");
此proc_query存储过程是查询所有的表记录 返回一个结果集hibernate 调用此过程 需要返回一个结果集可是没有registerOutParameter这个方法啊 怎么
CallableStatement cs=session.connection().prepareCall("{call proc_query(?)}");
cs.setInt.....
cs.execute.....
这是一个有结果集的存储过程 返回来的结果集 hibernate怎么来得到,能不能说详细点 展开
此proc_query存储过程是查询所有的表记录 返回一个结果集hibernate 调用此过程 需要返回一个结果集可是没有registerOutParameter这个方法啊 怎么
CallableStatement cs=session.connection().prepareCall("{call proc_query(?)}");
cs.setInt.....
cs.execute.....
这是一个有结果集的存储过程 返回来的结果集 hibernate怎么来得到,能不能说详细点 展开
2个回答
展开全部
CallableStatement cs=session.connection().prepareCall("{call proc_query(?)}")即可,如果用的spring集成的话可能需要内部类实现
cs.registerOutParameter(1, OracleTypes.CURSOR);
cs.execute();
ResultSet rs = (ResultSet) cs.getObject(1);
剩下的就跟jdbc调用存储过程一样了,因为一般存储过程返回的都不是一个表的数据,所以这里这样写问题不大。我觉得跟jdbc没什么区别
还有任何疑问直接百度hi吧,到这已经解决了你的问题了
cs.registerOutParameter(1, OracleTypes.CURSOR);
cs.execute();
ResultSet rs = (ResultSet) cs.getObject(1);
剩下的就跟jdbc调用存储过程一样了,因为一般存储过程返回的都不是一个表的数据,所以这里这样写问题不大。我觉得跟jdbc没什么区别
还有任何疑问直接百度hi吧,到这已经解决了你的问题了
展开全部
SQLQuery query=getSession().createSQLQuery("{call proc_query(?)}");
query.setInteger(0,idValue);
List list query.addScalar("字段名",Hibernate.类型)...setResultTransformer(Transformers.aliasToBean(对应的类.class)).list();
query.setInteger(0,idValue);
List list query.addScalar("字段名",Hibernate.类型)...setResultTransformer(Transformers.aliasToBean(对应的类.class)).list();
参考资料: 还有其他问题的话,给我发百度消息
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询