</pre>1.用hibernate建议的命名参数方法(推荐):<p></p><p></p><pre code_snippet_id="218425" snippet_file_name="blog_20140305_1_8264782" name="code" class="java"> List<Student> list = session.createQuery("from Student where dept=:sdept and age>:sage and sex=:sex")
.setString("sdept", "计算机学院")
.setParameter("sex", "男")
.setInteger("sage", 20)
.list();
2.用已经废弃的方法:
List<Student> list = session.createQuery("from Student as s where s.age>? and s.dept=?")
.setInteger(0, 20)
.setString(1, "<span style="font-family: Arial, Helvetica, sans-serif;">计算机学院</span>")
.list();
3.JPA-Style占位符方法:
List<Student> list = session.createQuery("from Student as s where s.age>?0 and s.dept=?1")
.setInteger(0, 20)
.setString(1, "计软院")
.list(); //参数绑定
此方法试过多次未果,都会抛出异常:
java.lang.IllegalArgumentException: No positional parameters in query: from Student where age>?0 and dept=?1
不知道这个哪里有错?求解