我的hibernate utill返回null会话工厂

时间:2015-10-28 08:16:41

标签: java web-applications sessionfactory invocationtargetexception

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

这是我的文件夹

enter image description here

这是我的hibernate 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 ;   
    }
}

然后在下一步之后也去了这个班级

enter image description here

1 个答案:

答案 0 :(得分:1)

请尝试使用此HibernateUtil:

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;
    }

}

并在您的userDao中使用此:

private final SessionFactory sessionFactory = HibernateUtil.sessionFactory.getCurrentSession();
相关问题