Java jpa调用存储过程,抛出异常如下:

javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: ResultSet is from UPDATE. No Data.
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1361)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1289)
at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:313)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:310)
at com.sun.proxy.$Proxy65.getSingleResult(Unknown Source)
at com.hxxr.operation.service.ProcedureServiceImpl.providerImageStatistics(ProcedureServiceImpl.java:51)
at com.hxxr.analysis.gbm.job.service.ProcedureJobService$1.executeProcedure(ProcedureJobService.java:49)
at com.hxxr.analysis.gbm.job.service.ProcedureJobService$1.run(ProcedureJobService.java:26)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.hibernate.exception.GenericJDBCException: ResultSet is from UPDATE. No Data.
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:52)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110)
at org.hibernate.engine.jdbc.internal.proxy.AbstractResultSetProxyHandler.continueInvocation(AbstractResultSetProxyHandler.java:108)
at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81)
at com.sun.proxy.$Proxy68.next(Unknown Source)
at org.hibernate.loader.Loader.doQuery(Loader.java:852)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:289)
at org.hibernate.loader.Loader.doList(Loader.java:2463)
at org.hibernate.loader.Loader.doList(Loader.java:2449)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2279)
at org.hibernate.loader.Loader.list(Loader.java:2274)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:331)
at org.hibernate.internal.SessionImpl.listCustomQuery(SessionImpl.java:1585)
at org.hibernate.internal.AbstractSessionImpl.list(AbstractSessionImpl.java:224)
at org.hibernate.internal.SQLQueryImpl.list(SQLQueryImpl.java:156)
at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:280)
... 14 more
Caused by: java.sql.SQLException: ResultSet is from UPDATE. No Data.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1094)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:997)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:983)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:928)
at com.mysql.jdbc.ResultSetImpl.next(ResultSetImpl.java:6995)
at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.hibernate.engine.jdbc.internal.proxy.AbstractResultSetProxyHandler.continueInvocation(AbstractResultSetProxyHandler.java:104)
... 27 more

解决方式:

根据存储过程执行的是查询、保存或者修改调用不同的方式即可。

例如执行update修改命令,如下:

Query query = entityManager.createNativeQuery("{call test()}");
query.executeUpdate();

存储过程如下:

BEGIN
UPDATE test SET name = 'blog.yoodb.com' where id='12345678';
END

最新文章

  1. C#学习笔记-ContextMenuStrip
  2. Lucene系列-索引文件
  3. cocoaPods 的安装和使用
  4. Android FM 模块学习之四 源码解析(1)
  5. Blackfin DSP(六):BF533的SPORT接口
  6. Android alertdialog实现确认退出
  7. APK软件反编译 去广告
  8. 数组排序-冒泡排序-选择排序-插入排序-希尔排序-快速排序-Java实现
  9. 谈谈iOS中粘性动画以及果冻效果的实现
  10. SQL Server2008R2安装失败问题之语言包问题
  11. AFNetworking 保存Cookie Session 和 Webview 共享Cookie
  12. android应用框架搭建------BaseActivity
  13. 关于Spring事物的面试题
  14. css 样式表的书写顺序
  15. 第七章:四大组件之Service
  16. 团队Alpha博客链接目录
  17. Ext.js Combobox 输入模糊匹配
  18. django之models模块使用
  19. 关于DFS和BFS的理解 以及坐标的定义
  20. python笔记34-类里面的__str__ 和__unicode__作用

热门文章

  1. Linux常用高级命令
  2. css 文字间距
  3. [Luogu2879][USACO07JAN]区间统计Tallest Cow
  4. CentOS6.5下搭建文件共享服务(Samba)
  5. Mysql高手系列 - 第26篇:聊聊如何使用mysql实现分布式锁
  6. pytorch笔记
  7. Centos 新建用户
  8. Eureka -- 浅谈Eureka
  9. 关于C#界面开发winform与SharpGL结合鼠标只在OpenGLControl绘图区域显示坐标移动消息响应(鼠标单独在某个控件上的消息响应)
  10. web前端面试题(含答案)