JPQL语句支持两种方式的参数定义方式:
命名参数和位置参数。。在同一个查询语句中只允许使用一种参数定义方式。
命令参数的格式为:“: +参数名”
例:
Query query = em.createQuery("select p from Person p where p.personid=:Id");
query.setParameter("Id",new Integer(1));
位置参数的格式为“?”
例:
Hibernate下索引
Query query = em.createQuery("select p from Person p where p.personid=?");
query.setParameter(0,new Integer(1));
否则会出现异常
java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based!