[英]How to avoid this error on Spring Boot: (query did not return a unique result: 4)
我试图从 MySql 数据库中获取一些随机数据,为了获取这些数据,我使用以下查询@Query(nativeQuery = true,value = "select question from test_questions order by RAND() limit 4")
并且我将该查询放入 Jpa Repository 接口,我将此自定义方法public String getRandItems();
但是当我尝试从 postman 获取数据时,它给我这个错误查询没有返回唯一结果:4
请注意,当我使用select *
而不是select question
时,它对我有用,但我不想要整个数据,我只想要question column
。
您将结果限制为 4 行,因此您应该返回一个字符串列表而不是一个简单的字符串作为结果:
public List<String> getRandItems();
您将结果限制为 4 行,因此您应该返回一个字符串列表而不是一个简单的字符串作为结果:
public List<String> getRandItems();
或者您可以将结果限制为 1 以仅获得一个字符串:
@Query(nativeQuery = true,value = "select question from test_questions order by RAND() limit 1")
查看它说它没有返回唯一结果的错误,因为它返回了更多与方法返回类型不匹配的结果。
是的,因为它返回多个结果,所以它可以将它存储在一个字符串中,您可以从public String getRandItems()
更改方法签名;
To: public List<String> getRandItems()
;
所以它接受所有结果
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.