rg.hibernate.QueryException: Expected positional parameter count: 2, actual parameters: [] [SELECT * from Ad where gr_id = ? and adst_id = ?]
这样的异常主要原因是:
//以下为例子
Query query =session.getNamedQuery("OnlienAd");
query.setParameter(0,gray.getId());
query.setParameter(1,Globals.UPED_STATE);
可以看到query.setParameter()设置了位,也可以理解成他在要执行的HQL语句中占了2个位置。
然后执行的时候会对应HQL里的?中去。
如果你并没有setParameter(),但你的HQL里却有?那么就会出这个异常。
转自https://blog.youkuaiyun.com/nettravel_a/article/details/9977809
本文详细解析了在使用Hibernate框架时遇到的HQL参数设置异常问题。主要关注于当实际参数数量与预期不符时,如何定位和解决此问题。通过具体代码示例,展示了正确的setParameter()方法调用方式,避免因参数数量不匹配导致的运行时错误。
2414

被折叠的 条评论
为什么被折叠?



