Spring data jpa findOne 抛出 In CorrectResultSizeDataAccessException 异常

pok*_*ken 1 java database spring-data-jpa

我正在使用 spring data jpa 并创建了一个扩展 JpaSpecificationExecutor 的存储库。然后我使用 findOne(specs) 方法。但我得到了这个例外:

IncorrectResultSizeDataAccessException: query did not return a unique result: 2
Run Code Online (Sandbox Code Playgroud)

Specs 查询确实返回多个结果,但我认为使用 findOne 会返回第一个结果?但我仍然收到错误。我想我使用了错误的方法。我应该使用哪种方法来获得第一个结果?

Jos*_*gun 5

findOne 方法假设您的查询将仅返回一行。因此返回多行的结果将引发异常。相反,您可以使用 findAll(...).get(0)