Saying position beyond number of declared ordinal parameters
hibernate, java
Solution
Use index as `0` since the parameter index start from `0`.
sessionFactory.getCurrentSession()
.createSQLQuery("update table1 set someCounter = someCounter + 1 where id = ?")
.setParameter(0, someId)
.executeUpdate();
Since you are using Hibernate, you can use the named parameter as well i.e.
sessionFactory.getCurrentSession()
.createSQLQuery("update table1 set someCounter = someCounter + 1 where id = :id")
.setParameter("id", someId)
.executeUpdate();
Problem
I want to perform a native/raw mysql query using hibernate, I have this: ``` sessionFactory.getCurrentSession().createSQLQuery( "update table1 set someCounter = someCounter + 1 where id = ?") .setParameter(1, someId) .executeUpdate(); ``` I'm getting the error: ``` threw exception [Request processing failed; nested exception is org.hibernate.QueryParameterException: Position beyond number of declared ordinal parameters. Remember that ordinal parameters are 1-based! Position: 2] with root cause org.hibernate.QueryParameterException: Position beyond number of declared ordinal parameters. Remember that ordinal parameters are 1-based! Position: 2 ``` What's wrong here?