找不到符号HibernateUtil

时间:2014-03-10 09:32:19

标签: java hibernate java-ee netbeans

我正在关注Hibernate的教程,如here所示,在我的'FilmHelper'课程中,我正试图获得一个这样的Session对象:

package dvdrental;

import org.hibernate.Session;

public class FilmHelper {

    Session session = null;

    public FilmHelper() {
        this.session = HibernateUtil.getSessionFactory().getCurrentSession();
    }

}

但我收到一个'找不到符号'的错误,指出它无法找到'HibernateUtil'...在Hibernate中获取会话的方式有所改变,教程是否过时,还是我完成了有什么不对吗?

3 个答案:

答案 0 :(得分:1)

我不确定这是你应该如何检索会话,特别是如果FilmHelper实例存储在某个地方。

如果您有权访问实体管理器(我假设因为java-ee标记),您只需要这样做:

Session s = (Session)entityManager.getDelegate();

<强>更新

你链接的教程有一个部分“创建HibernateUtil.java助手文件”,所以也许这就是缺少的东西。

但请注意,这只是一个开始。对于更复杂或更健壮的解决方案,您应该查看文档,并使用JPA作为抽象级别。

答案 1 :(得分:0)

如果您正在完全遵循本教程,请检查HibernateUtil.java的包,并检查它是否为public或protected.Also,检查您是否缺少HibernateUtil.java的导入。如果还有问题,请检查HibernateUtil.java是否存在与库相关的任何错误。由于有时导入的类有问题导致在不同的类中找不到警报。

答案 2 :(得分:0)

您需要将自己的类HibernateUtil创建为folows:

  • 右键单击“源包”节点,然后选择“新建”&gt;其他打开 “新建文件”向导。
  • 从“类别”列表中选择“休眠”,从“文件类型”列表中选择HibernateUtil.java(或其他名称)。单击“下一步”。
  • 键入HibernateUtil(或其他名称)作为类名,并键入将在其中存储类的包名。单击“完成”。

假设IDE是NetBeans。