我正在关注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中获取会话的方式有所改变,教程是否过时,还是我完成了有什么不对吗?
答案 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:
假设IDE是NetBeans。