javaweb报错org.hibernate.NonUniqueResultException: query did not return a unique result: 2
程序员文章站
2022-04-15 22:57:22
...
错误原因:session.createQuery(hql).uniqueResult() 造成的。查询结果不是唯一的时候这个函数就报错。
解决方法:使用list()
public T getByHql(String qlString, Parameter parameter) {
Query query = createQuery(qlString, parameter);
return (T) query.uniqueResult();
}
改为:
public T getByHql(String qlString, Parameter parameter) {
Query query = createQuery(qlString, parameter);
List list = query.list();
if(list != null && list.size() > 0)
return (T) list.get(0);
else
return (T) query.uniqueResult();
}
*/
或者从本质上解决问题,找出数据库中重复的数据删掉。
上一篇: GET和POST请求方式的区别