Именованные параметры лучше, чем позиционные параметры, мы должны быть осторожны при взгляде на порядок / позицию, в то время как именованные легко.
Названный:
Query query = session.createQuery("select count(*) from User"+" where userName=:userName and passWord=:passWord");
query.setString("userName", userName);
query.setString("passWord", passWord);
Позиционная:
Query query=em.createQuery("SELECT e FROM Employee e WHERE e.empId = ? and e.empDepartment = ?");
query.setParameter(1, employeId);
query.setParameter(2, empDepartment);