有什么作用:
session.createQuery(hqlString);
做 ?
它是否也创建并运行查询?
它创建了一个Query对象,但它没有运行
创建Query
对象后,您可以使用setParameter()
重载方法设置参数。并list()
在查询对象上调用运行查询并返回结果列表。
类的 JavadocQuery
指出
通过调用 list()、scroll() 或 iterate() 来执行查询。后续调用可能会重新执行查询。但是,它的生命周期受创建它的会话的生命周期的限制。
createQuery 只会使用您传入的 hql 值实例化查询对象。它不会运行查询,只会在调用 executeUpdate 时运行。
更多信息可以在下面找到。
createQuery: http://docs.jboss.org/hibernate/core/3.6/api/org/hibernate/Session.html#createQuery(java.lang.String)
执行更新:http : //docs.jboss.org/hibernate/orm/3.3/javadocs/org/hibernate/Query.html#executeUpdate()
(更新)关于您对如何执行查询的评论,可以在下面找到一个旧教程: http ://www.mkyong.com/hibernate/hibernate-query-examples-hql/