在新版本的hibernate中,对原来的HQL格式Legacy-style query不再支持,现在网上很多的教程中,还在使用这种直接用?的语句,要将之修改为JPA-style的HQL,即后面?带上数字的HQL写法。
参照着这篇博客解决的
https://blog.csdn.net/Z_Dalao/article/details/84891149
修改前
Query q = s.createQuery("from Product p where p.name like ?");
q.setString(0, "%"+name+"%");
修改后
Query q = s.createQuery("from Product p where p.name like ?1");
q.setParameter(1, "%"+name+"%");