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里却有?那么就会出这个异常。