我的hibernate实用程序将返回null会话工厂



我在程序中使用hibernate注释,但它出错了。它不返回我打开的会话工厂。我使用了netbeans IDE,当我调试程序时,它想打开一个会话,下一步,它将转到InvocationTargetException.java,而不做任何其他事情。

是我的文件夹

在此处输入图像描述

这是我的休眠util

public class HibernatUtil {
    private static final  SessionFactory FACTORY;
     static {
        FACTORY = new AnnotationConfiguration().configure("/hibernate.cfg.xml").buildSessionFactory();
    }

    public static SessionFactory getSessionFactory() {

        return FACTORY;
    }

}

这是我的类得到会话工厂,但得到错误

public class UserDAO {
    private Session session;
    public boolean insert(User user){
        session=HibernatUtil.getSessionFactory().getCurrentSession();
        Transaction transaction=null;
        String result;
        try{
            transaction=session.beginTransaction();
           session.save(user);
            transaction.commit();
            result="your insert  was sucssedfull";
        }
        catch(Exception e ){
            result="your transaction was faild";
              if (transaction!=null) transaction.rollback();
        }
        System.out.println(result);
        return  transaction!=null ;   
    }
}

然后在下一步之后,也进行此类

在此处输入图像描述

试着使用这个Hibernate Util:

public class HibernateUtil {
    public static final SessionFactory sessionFactory = buildSessionFactory();
    private static SessionFactory buildSessionFactory() {
        try {
            // create the SessionFactory from hibernate.cfg.xml
            return new Configuration().configure().buildSessionFactory();
        } catch (Throwable ex) {
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }
    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
}

在你的用户中使用这个:

private final SessionFactory sessionFactory = HibernateUtil.sessionFactory.getCurrentSession();

最新更新