java.lang.IllegalArgumentException: Could not locate ordinal parameter [0], expecting one of []
时间: 2024-05-04 20:17:30 浏览: 295
Java的异常类
这异常通常是因为在使用 Hibernate 进行查询时,查询语句中使用了命名参数,但是在设置参数值时使用了占位符。举个例子,如果查询语句是这样的:
```
String hql = "from User where name = :name";
Query query = session.createQuery(hql);
query.setParameter(0, "Tom");
```
这样设置参数是错误的,因为查询语句中使用的是命名参数,应该使用 `query.setParameter("name", "Tom")` 来设置参数值。
如果你需要使用占位符,可以将查询语句改成这样:
```
String hql = "from User where name = ?";
Query query = session.createQuery(hql);
query.setParameter(0, "Tom");
```
这样就可以使用占位符来设置参数值了。
阅读全文