Hibernate执行返回多个结果集的存储过程
我现在做一个项目涉及到查询返回多个结果集的存储过程,我知道用JDBC可以用游标的方式,但是用Hiberanter该怎么处理就不知道了,
只要配置好了hbm.xml文件
那么返回给你的直接可以是一个list或者javaBean,这里面肯定就包括了你所需要的所有对象。
hibernate就是对jdbc的封装,就等于通过配置文件对jdbc进行了一些功能的添加。
不是,可能我说的不太清楚,JDBC是可以处理的,但是我的存储过程是查询多个表,这些表可能来自不同的数据库,Hibernate是指取第一个结果集,其他的将被抛弃,我想问的是有没有解决方法,取到结果集(不用JDBC能不能解决)
多个结果集,hibernate确实没提供支持,楼主只能通过jdbc方式了
Java code?123 Connection connection=session.connection(); //接下来用这个connection以jdbc方式去进行调用存储过程了
多个结果集,hibernate确实没提供支持,楼主只能通过jdbc方式了
List l = this.getSession().createSQLQuery(" { Call p_tztj(?,?,?,?) }") .addScalar("mc_1",Hibernate.STRING) //列名 .addScalar("mc_2",Hibernate.STRING) .addScalar("mc_3",Hibernate.STRING) .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP) .setParameter(0, "")//参数 .setParameter(1, "") .setParameter(2, "") .setParameter(3, "") .list();
返回的结果:
[{mc_1=164, mc_2=14, mc_3=7},{mc_1=164, mc_2=14, mc_3=7},{mc_1=164, mc_2=14, mc_3=7}...]