原文地址 https://blog.csdn.net/Small_Mouse0/article/details/77944060

出学jpa时,对jpa的规范理解还不是很到位,,很容易出错,,

【1】看控制台报错情况,一般情况下红色第一句很重要,细看(英文很水没关系,打开有道瞬间转换成中文,虽然有点变扭,能看)
比如,我这个错误,

result returns more than one elements; nested exception is javax.persistence.NonUniqueResultException: result returns more than one elements
  • 1

结果返回超过一个,嵌套异常是:【javax.persistence.NonUniqueResultException】

【2】错误中大多数情况下,会出现于代码有关的东西,定位错误发生位置很关键
错误已经说的很明显,,返回值类型不对,,,不止一个,那么就需要设置集合做为返回值

【3】根据错误提示分析,哪里出问题了,,修改代码即可

此处就改为:

 List<User> findByIdOrName(Long id,String name);
  • 1

org.springframework.dao.IncorrectResultSizeDataAccessException: result returns more than one elements; nested exception is javax.persistence.NonUniqueResultException: result returns more than one elements    at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:395)at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:246)at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:488)at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59)at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:213)at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:147)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:133)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke(SurroundingTransactionDetectorMethodInterceptor.java:57)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)at com.sun.proxy.$Proxy89.findByIdOrName(Unknown Source)at xatu.zsl.dao.MyUserRepositoryTest.findByIdOrName(MyUserRepositoryTest.java:22)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:483)at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)at org.junit.runners.ParentRunner.run(ParentRunner.java:363)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)at org.junit.runner.JUnitCore.run(JUnitCore.java:137)at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51)at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:237)at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:483)at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: javax.persistence.NonUniqueResultException: result returns more than one elementsat org.hibernate.jpa.internal.QueryImpl.getSingleResult(QueryImpl.java:539)at org.hibernate.jpa.criteria.compile.CriteriaQueryTypeQueryAdapter.getSingleResult(CriteriaQueryTypeQueryAdapter.java:54)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:483)at org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:372)at com.sun.proxy.$Proxy92.getSingleResult(Unknown Source)at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:206)at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:85)at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:116)at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:106)at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:483)at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:461)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:56)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136)... 43 more
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75


错误总结:
jpa对接接口中方法的定义有规范限制,不遵守规范就会报出这个错误

result returns more than one elements 解决办法相关推荐

  1. result returns more than one elements; nested exception is javax.persistence.NonUniqueResultExceptio

    解决:result returns more than one elements; nested exception is javax.persistence.NonUniqueResultExcep ...

  2. mybatis报错解决办法 :Result Maps collection does not contain value for java.lang.String

    错误 java.lang.IllegalArgumentException: Result Maps collection does not contain value for java.lang.S ...

  3. 【问题解决】mybatis 类型不匹配两种解决办法 -Result type not match for select id=“selectUser“ srcType: com.kuang.pojo

    问题描述: Result type not match for select id="selectUser"srcType: com.kuang.pojo.UsertargetTy ...

  4. oracle11g ora 29927,listagg函数 ORA-01489 result of string concatenation is too long的解决办法 【博森瑞】...

    listagg函数 ORA-01489: result of string concatenation is too long的解决办法 概述 listagg 函数是Oracle 11g推出的一个分组 ...

  5. git clone: error:RPC failed;result=18,HTTP code = 200 MiB | 2.00 KiB/s解决办法

    在windows上git clone时,出现 error: RPC failed; result=18, HTTP code = 200 MiB | 2.00 KiB/s fatal: The rem ...

  6. 报错:Could not find action or result解决办法

    报错:Could not find action or result解决办法 $("#btn-processSubmit").click(function(){if(status ...

  7. [Winform]安装在C盘,无操作权限的一个解决办法

    摘要 在对winform打包,进行安装的时候,一般会采用默认的安装路径,默认安装在C:\Program Files\xx或者C:\Program Files(x86)目录下,但windows有一种安全 ...

  8. MySQL : ROUND 函数四舍五入陷阱及解决办法

    在MySQL中, ROUND 函数用于对查询结果进行四舍五入,不过最近使用ROUND函数四舍五入时意外发现并无预期的那样,本文将这一问题记录下来,并提出解决方案. 问题描述 假如咱们有以下一个数据表 ...

  9. 百度地图 测距功能 DistanceTool 在不同浏览器下标注不一致的解决办法,打开新地图测距不生效的解决办法

    1. 在项目中用到百度地图的测距功能,在主页面的地图中用没问题,如果从主页的地图跳转到详情页的地图,在返回到主页,打开地图的测距功能,测距一直不显示.下面是解决办法 将测距功能的工具类函数下载到本地, ...

最新文章

  1. kubernetes in action - Replication Controller
  2. python编程入门与案例详解-Python爬虫天气预报实例详解(小白入门)
  3. 永磁同步电机转子磁链_采用冻结磁导率的瞬态场永磁同步电机交直轴电感计算...
  4. 源文件py编译为pyc文件
  5. Mentor工具简介
  6. VS中如何导入wav并且播放音乐
  7. 嵌入式ARM之基于S5P6818平台移植Qt5.5、FFTW、QWT--图文教程
  8. c语言中char与static
  9. 中小型企业选择企业邮箱的好处
  10. ZKP+图片授权——PhotoProof:proofs of permissible photo edits
  11. 沭阳学爬虫03爬虫基本原理
  12. php 调用 C++
  13. 计算机毕业设计——基于HTML电商购物商城项目设计与实现-快购优品 带论文6500字 答辩ppt
  14. MySQL-InnoDB引擎-架构和事务原理
  15. mysql 查询本年当前季度数据 ,SQL查询当前季度的数据
  16. 谷歌收购摩托罗拉乱弹
  17. 电脑手机模拟器模拟手机浏览器,在线浏览手机网站
  18. Java250 amp 249_中国公历算法amp;中国农历算法(JAVA)
  19. 校内hu测(10.6T2,T3)(乱搞+贪心+模拟)
  20. 为什么一部分人强烈推荐Macbook而另一部分人却说永远也不要买Macbook?到底好不好用?

热门文章

  1. 小米加密兔正式内测上线,网易星球莱茨狗又多了新对手
  2. 痞子衡嵌入式:利用GPIO模块来测量i.MXRT1xxx的系统中断延迟时间
  3. RouterOS的基本设置
  4. python处理原始音频数据
  5. 基于前端Js模块化规范的粗浅应用
  6. ESP32-C3入门教程 IoT篇⑦——微软云 Microsoft Azure 物联网 IoT Central EspAzureIoT 实战
  7. 在微信小程序中 使用uView rules 表单校验 validator 不起作用(无效)
  8. 智能网联汽车信息安全实训平台-IVI(或T-BOX)的WiFi攻击实验
  9. javascript毫秒计时器_如何在倒数计时器javascript中显示毫秒
  10. [翻译学习]MonoSLAM: Real-Time Single Camera SLAM