1、异常描述
org.hibernate.QueryParameterException: Position beyond number of declared ordinal parameters.
Remember that ordinal parameters are 1-based! Position: 1
备注:
此处hibernate版本号:3.6.10.Final
2、部分示例代码
2-1 StudentDao.java
// 测试动态查询
public List<Student> findByCondition(Object[] conditions){
Session session = sessionFactory.getCurrentSession();
Transaction transaction = session.beginTransaction();
// 定义hql语句
String hql = "from Student where name = :name and cid = :cid";
Query query = session.createQuery(hql);
// 判断查询条件是否为空
if(conditions != null && conditions.length != 0){
// 给占位符赋值
System.out.println("conditions.length = "+conditions.length);
for (int i = 0; i < conditions.length; ++i) {
que

本文主要分析了Hibernate中遇到的`org.hibernate.QueryParameterException`,该异常通常发生在位置参数超过声明的参数数量时。文章通过具体的代码示例展示了问题所在,指出在使用命名参数占位符时,错误地使用了位置参数进行赋值。解决方案是使用参数名进行赋值,而非索引。最后,作者鼓励读者分享更多相关问题和解决方案。
最低0.47元/天 解锁文章
11万+





