DAO层的实现类中createQuery()方法后跟setParameter()是什么意思?

代码如下

 public Users GetByNameAndPwd(String userName, String userPwd) throws Exception {//根据用户名和密码查询
        String hql ="FROM Users WHERE name=? AND password=?";
        Session session = null;
        Users user = null;
        try {
            session = getSession();//createQuary(),
            user = (Users)session.createQuery(hql).setParameter(0, userName).setParameter(1, userPwd).uniqueResult();//uniqueResult()表示返回唯一结果,否则用list()方法
        } finally {
            releaseSession(session);
        }
        return null;
    }

createQuery(hql).setParameter(),执行HQL语句后设置参数,这里不太理解,而且eclipse提示get/releaseSession()方法过时了,请问如果同样要实现这个方法的功能,代码应该怎样写呢?
菜鸟求大咖指点,谢谢。

回复Ivorybeach: 这个get/releaseSession()过期但并不是不能用,一些java的老编程就用,你用session.看有没有session.close()方法图片说明

这是连写,可以拆开写,上面hql语句用问号做占位符,下面的setParameter是给占位符赋值,这样做能防止注入