日期:2014-05-20  浏览次数:20722 次

高分求教!Hibernate调用存储过程的方法。
请教:Hibernate调用oracle存储过程,需要传入两个参数,存储过程执行完后,需要返回两个参数,一个是游标,一个是数值,现在不知怎么得到和使用返回的两个参数。关键问题是单独游标和数值都能行,就是不知道如何使用两个返回参数。

------解决方案--------------------
hibernate 不熟 根据session获取到conn以后 按照jdbc的API走吧
------解决方案--------------------
记忆中hibernate调用存储过程其实是绕过了hibernate,直接用的jdbc的类,所以你jdbc怎么写,现在怎么写就好了
------解决方案--------------------
楼上说的对。
------解决方案--------------------
同意3楼的解析。。
------解决方案--------------------
hibernater 不支持直接更新或删除的存储过程
Hibernate 中直接使用JDBC
Java code

tx = session.beginTransaction(); 
Connection con=session.connection(); 
String procedure = "{call batchUpdateCustomer(?) }"; 
CallableStatement cstmt = con.prepareCall(procedure); 
cstmt.setInt(1,0); //把年龄参数设为0 
cstmt.executeUpdate(); 
tx.commit();

------解决方案--------------------
lz 你只需返回结果列表就行了 然后再求列表的长度就不就ok啦吗。。。。
探讨
谢谢各位,存储过程中只是想通过一个查询返回游标,同时返回一个记录数,没有插入和删除操作,从网上查到有单纯返回游标的例子,现在遇到的问题是如果既有游标(也就是得到的查询结果列表),又有一个数值(查询结果总记录数),该怎么办?

------解决方案--------------------
学习了,最近SSH学的不好