【问题标题】:java.lang.NullPointerException in a sample program of HibernateHibernate 示例程序中的 java.lang.NullPointerException
【发布时间】:2010-08-16 12:24:57
【问题描述】:

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

log4j:WARN 找不到记录器 (org.hibernate.cfg.Environment) 的附加程序。
log4j:WARN 请正确初始化log4j系统。
线程“主”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()时从main方法抛出的

标签: java hibernate orm


【解决方案1】:

应该改变

transaction.rollback();

if (transaction != null) {
    transaction.rollback();
}

因为事务的分配有可能抛出异常。

如果你想摆脱 Log4J 消息,你可以添加一个调用

BasicConfigurator.configure();

设置基本日志记录

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 2017-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-15
  • 1970-01-01
相关资源
最近更新 更多