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