首页 > 解决方案 > Hibernate `Session` 是否有一个名为 `find()` 的方法,它接受 HQL 字符串?

问题描述

来自数据库系统概念 6ed

要检索学生,我们可以使用以下代码片段

Session session = getSessionFactory().openSession();
Transaction txn = session.beginTransaction();
List students =
session.find("from Student as s order by s.ID asc");
for ( Iterator iter = students.iterator(); iter.hasNext(); ) {
Student stud = (Student) iter.next();
.. print out the Student information ..
}
txn.commit();
session.close();

上面的代码片段使用 Hibernate 的 HQL 查询语言中的查询。HQL 查询由 Hibernate 自动转换为 SQL 并执行,结果转换为 Student 对象列表。for 循环遍历此列表中的对象并将它们打印出来。

我用谷歌搜索并没有找到Session一个调用find()HQL 字符串的方法。它已被弃用还是我错过了它?我不确定这本书使用的是什么 Hibernate 版本。谢谢。

标签: javahibernate

解决方案



推荐阅读