Spring 如何解决此问题org.hibernate.ununiqueresultexception:查询未返回唯一结果:4

Spring 如何解决此问题org.hibernate.ununiqueresultexception:查询未返回唯一结果:4,spring,hibernate,Spring,Hibernate,这是我在Dao中的代码 session=sessionFactory.openSession(); tx=session.beginTransaction(); 条件=session.createCriteria(Router.class); 添加(限制.eq(“路由器id”,路由器id)) 路由器=(路由器)标准。uniqueResult() tx.commit(); session.close(); 返回路由器 在冬眠中变得这样 {“org.hibernate.ununiqueresulte

这是我在Dao中的代码
session=sessionFactory.openSession();
tx=session.beginTransaction();
条件=session.createCriteria(Router.class);
添加(限制.eq(“路由器id”,路由器id))
路由器=(路由器)标准。uniqueResult()
tx.commit(); session.close(); 返回路由器

在冬眠中变得这样
{“org.hibernate.ununiqueresultexception:查询未返回唯一结果:4”}


提前感谢

根据hibernate官方文件

当应用程序调用Query.uniqueResult()且查询返回多个结果时引发


在您的情况下,将返回4个结果。确保您的查询只返回一个结果。

是的,我得到了多个结果。但我只需要最后更新的结果。我怎样才能得到最后更新的结果?提前感谢使用setMaxResults获得1个结果@BMAM@BMAM有多种方法可以获得上一次更新的结果,比如在表中的上一次更新时间之前获得第一个结果(假设您有一种方法,那么使用HQL或条件很容易做到)。您可以创建一个新线程以获取有关此问题的帮助。您可以更新时间戳,例如,或者如果您已经有一个带有时间戳的字段,则需要修改您的查询。可能存在重复的