问题描述
java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based!
红色部分报错
for (int i = 0; i < listParam.size(); i++) {
query.setParameter(i, listParam.get(i));
}
原因
需要的查询参数数量和实际赋值的数量不一致,例如我在sql语句中只有3个“?”,在for循环中却要赋值4次
实际案例
sql.append(" AND DEV.S_CAPTION LIKE '%?%' ");
将SQL语句中'中的?没有解析成占位符,解析成字符串了
个人随笔,如有错误,敬请指正