2016-07-07 35 views
1

我使用Spring JPA和NonUniqueResultException扔当我使用 “findTop” 关键字NonUniqueResultException使用弹簧JPA时抛出 “findtop”

Java源:

Optional<ClassA> findTopByXXXOrderByIdDesc(String xxx); 

然后得到异常:

exceptionType = org.springframework.dao.IncorrectResultSizeDataAccessException例外=结果返回多于一个元素;嵌套异常是javax.persistence.NonUniqueResultException:结果返回多个元素

任何人都知道会发生什么?

+0

请纠正我,如果我错了:对于我的理解,尽管会返回多个结果,但是,因为我使用了“findTop”,所以Spring JPA将帮助我选择top结果 –

+0

问题得到解决,因为版本至少应该1.7.1.RELEASE –

回答

1

能否请您检查您的春季数据JPA的版本。请注意,Top和First从1.7.1.RELEASE开始可用。

-1

您试图检索结果为“query.getSingleResult()”,希望你会得到只有一个结果。而您的查询返回多个结果。这就是发生这种异常的原因。

+0

请纠正我,如果我错了,因为我的理解,即使会返回一个以上的结果,但是,为我所用“findTop”,所以Spring JPA会帮我选择最好的结果之一 –