hibernate调用存储过程返回结果集的问题
发布网友
发布时间:2022-04-09 01:09
我来回答
共2个回答
热心网友
时间:2022-04-09 02:39
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吧,到这已经解决了你的问题了
热心网友
时间:2022-04-09 03:57
SQLQuery query=getSession().createSQLQuery("{call proc_query(?)}");
query.setInteger(0,idValue);
List list query.addScalar("字段名",Hibernate.类型)...setResultTransformer(Transformers.aliasToBean(对应的类.class)).list();
参考资料:还有其他问题的话,给我发百度消息
hibernate调用存储过程返回结果集的问题
CallableStatement cs=session.connection().prepareCall("{call proc_query(?)}")即可,如果用的spring集成的话可能需要内部类实现 cs.registerOutParameter(1, OracleTypes.CURSOR);cs.execute();ResultSet rs = (ResultSet) cs.getObject(1);剩下的就跟jdbc调用存储过程一样了,因为一般存储过程返回的...
Hibernate 调用存储过程 该语句没有返回结果集
修改存储过程试试:alter procedure test()as SET NOCOUNT ON --加上这句话;有的出现这个问题,加上之后问题解决了;嘿嘿
hibernate调用存储过程的时候报出java.lang.ArrayStoreException...
java.lang.ArrayStoreException:将错误类型的对象存储到一个对象(数组--个人看法)时抛出的异常。一般的是不需要看“配置文件”和“存储过程”的。你可以将异常完全展示出来,然后根据错误行数(应该是JAVA 代码的),找到具体的错误点,比较一下 “=”,左右的值的类型法 ...
用hibernate调用存储过程语句,却报错:纳闷的是多了个:'{'
执行存储过程好像有个专门的方法。你是不是把它当成一般SQL执行的。
我用的是s2sh框架。hibernate怎样调用存储过程
匿名内部类,HibernateCallback中执行存储过程 语法 {call 存储过程名(?,?,?)} ?为参数占位符 示例如下:public void saveStoredProcedure(final String partNum, final String partPopedomXML) { getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session)...
关于hibernate调用存储过程
调用存储过程可以不写配置文件,直接在类中搞定! 有问题可以百度Hi 我!~例子 public void saveStoredProcedure(final String adminId, final String menuId, final String toolbars) { getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session)throws ...
下面这个复杂的postgresql存储过程怎样被hibernate调用
我先不说怎么调用,就拿存储过程和hibernate来说吧 存储过程的执行对数据库的修改等操作.hibernate是无法检测到的.所以尽然用了hibernate就不要再把业务逻辑放到数据库中去.把存储过程以及触发器什么的都变成普通的业务逻辑放到java中来处理.这样做你会知道他的好 ...
Hibernate中execute,executeQuery和executeUpdate之间的区别_百度知 ...
用于执行返回多个结果集、多个更新计数或二者组合的语句。因为多数程序员不会需要该高级功能 execute方法应该仅在语句能返回多个ResultSet对象、多个更新计数或ResultSet对象与更新计数的组合时使用。当执行某个已存储过程或动态执行未知 SQL 字符串(即应用程序程序员在编译时未知)时,有可能出现多个结果的...
hibernate缓存的详细配置
你的hibernate程序对数据库有独占的写访问权,其他的进程更新了数据库,hibernate是不可能知道的。你操作数据库必需直接通过hibernate,如果你调用存储过程,或者自己使用jdbc更新数据库,hibernate也是不知道的。hibernate3.0的大批量更新和删除是不更新二级缓存的,但是据说3.1已经解决了这个问题。 这个限制相当的棘手,有时候...
Hibernate的批量处理
从上面程序看出 应用程序也必须绕过Hibernate API 直接通过JDBC API来调用存储过程 还是用Hibernate API 来进行常规的批量处理 可以也有变 变就变在 我们可以在查找出一定的量的时候 及时的将这些数据做完操作就删掉session flush() session evict(XX对象集) 这样也可以挽救一点性能损失 这个 一定的量 要就要根据实际...