Hibernate示例程序中的java.lang.NullPointerException

Hibernate示例程序中的java.lang.NullPointerException,java,hibernate,orm,Java,Hibernate,Orm,我正在尝试运行hibernate的一个示例应用程序,它在运行时给了我一个错误: log4j:WARN找不到记录器(org.hibernate.cfg.Environment)的附加程序。 log4j:警告请正确初始化log4j系统。 线程“main”java.lang.NullPointerException中出现异常 在transaction.rollback()处 这在Main.java中: public class Main { public static void main(Strin

我正在尝试运行hibernate的一个示例应用程序,它在运行时给了我一个错误:

log4j:WARN找不到记录器(org.hibernate.cfg.Environment)的附加程序。
log4j:警告请正确初始化log4j系统。
线程“main”java.lang.NullPointerException中出现异常 在transaction.rollback()处

这在Main.java中:

public class Main {

public static void main(String[] args) {
    Session session = HibernateUtil.getSessionFactory().openSession();
    Transaction transaction = null;
    try {
        transaction = session.beginTransaction();
        Address address = new Address("ABC", "Delhi", "TN", "110001");
        Student student = new Student("kumar", address);
        session.save(student);
        transaction.commit();
    } catch (HibernateException e) {
        transaction.rollback();
        e.printStackTrace();
    } finally {
        session.close();
    }
应该改变

transaction.rollback();

尽可能让事务的分配引发异常

如果您想删除Log4J消息,可以添加对的调用

BasicConfigurator.configure();

要设置基本日志记录

您知道它在哪一行失败吗?您可以从异常输出中看到,它是在调用transaction.rollback()时从主方法抛出的,我应该在其中写入这一行:BasicConfigurator.configure();让它成为main方法的第一行,您可以在这里阅读更多关于log4j的内容-但是请注意,它被logback“替代”
BasicConfigurator.configure();