-1

有什么作用:

session.createQuery(hqlString);

做 ?

它是否也创建并运行查询?

4

2 回答 2

0

它创建了一个Query对象,但它没有运行

创建Query对象后,您可以使用setParameter()重载方法设置参数。并list()在查询对象上调用运行查询并返回结果列表。

类的 JavadocQuery指出

通过调用 list()、scroll() 或 iterate() 来执行查询。后续调用可能会重新执行查询。但是,它的生命周期受创建它的会话的生命周期的限制。

于 2013-06-28T05:53:33.777 回答
0

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/

于 2013-06-28T06:00:59.250 回答