如何配置hibernate.cfg.xml文件的构建路径?

时间:2016-02-05 11:16:04

标签: java eclipse hibernate

public class hibernateTest {

    public static void main(String[] args)
    {
        UserDetails user=new UserDetails();
        user.setUserId(1);
        user.setUserName("Ujash");

        try
        {
            Configuration cfg=new Configuration();
            cfg.configure("hibernate.cfg.xml");
            System.out.println("Cfg and hbm files loaded succesfully"); 
        }
        catch(Excaption ex)
        {
            System.out.println("Your are going wrong way");
        }
        Session session=sf.openSession();
        session.beginTransaction();
        session.save(user);

        session.getTransaction().commit();
    }
}

截图 Screenshot of IDE showing error

我正在使用PostgreSQL作为数据库

2 个答案:

答案 0 :(得分:0)

试试这个:

public class HibernateUtil {

private static final SessionFactory sessionFactory = buildSessionFactory();

private static SessionFactory buildSessionFactory() {
    try {

        File cfgFile = new File("pathToFile/hibernate.cfg.xml");

        return new AnnotationConfiguration().configure(cfgFile).buildSessionFactory();

    } catch (Throwable ex) {

        System.err.println("Initial SessionFactory creation failed." + ex);
        throw new ExceptionInInitializerError(ex);
    }
}

public static SessionFactory getSessionFactory() {
    return sessionFactory;
}

}

这个课你可以访问

Session session = HibernateUtil.getSessionFactory().openSession();

答案 1 :(得分:0)

首先,您错过了buildSessionFactory()方法调用。

您需要以这种方式进行配置,并使用sessionFactory打开会话。

SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();

Session session = sessionFactory.openSession();

关于你的问题。您没有意识到“配置构建路径” 。它不是hibernate.cfg.xml。您只需要将Hibernate库添加到类路径或(如果已经这样做)导入Configuration类。

您可以从那里下载simply Eclispe项目并获取Hibernate 4或Hibernate 5的库。

最好的方法是使用Maven或Gradle构建并在pom.xmlbuild.gradle中指定库。