result returns more than one elements此种错误,解决

Posted wbqcheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了result returns more than one elements此种错误,解决相关的知识,希望对你有一定的参考价值。

场景:公司产品开发完成后,接入第三方厂商,在进行接口联调的时候出现此问题。此接口报文中的每一个数据都要进行校验,有些是与已经存入产品数据库中的数据进行对比,看是否存在。

问题:在测试中,有些测试没有问题,有些却有问题。result returns more than one elements。

 

分析:这是由于spring jpa查询数据库表中数据,接收的是一个one值,但返回的却是多个,导致不能接收,出现问题。

          两种办法,一种是在开发的时候,接收用list,接收多个,但是实际中,根据需要,存在接收一个one值,或者必须是一个one值。

          另一种,进行排查,既然出现这种情况,肯定就是查询数据库表的一段代码有问题,找到这段代码,看查的是哪张表,再找到对应数据,去库里对应表进行select条件查询,看结果是多个还是一个,

如此,一看查询结果是多个,删除 多余的数据,再进行测试,OK,正常了。

          一般,在设计有些逻辑和表的时候,认为有些值都是唯一一条,但在实际测试或者操作中,可能某种操作导致这种唯一性变成多条性了,这就有了此种问题发生的诱因了。

      

以上是关于result returns more than one elements此种错误,解决的主要内容,如果未能解决你的问题,请参考以下文章

使用Spring Data JPA查询时,报result returns more than one elements异常

MySQL 报错: Subquery returns more than 1 row

MySQL 报错: Subquery returns more than 1 row

Subquery returns more than 1 row查询结果多于一行

mysql 报错 ‘u'Subquery returns more than 1 row'’

Django:get() returned more than one Session -- it returned 8!