保存对象/ Hibernate上的java.lang.NullPointerException

时间:2017-11-16 18:37:22

标签: java mysql spring hibernate hql

我正在尝试使用Hibernate和Spring在HQL中保存MySQL数据库中的对象。 但是,保存时,这是错误消息:

  

org.springframework.web.util.NestedServletException:Request   处理失败;嵌套异常是java.lang.NullPointerException

public void addCountry(Country country) throws Exception {

    Session session = sessionFactory.openSession();
    Transaction transaction = null;

    try {
        transaction = session.beginTransaction();

        //Add new Country object
        Country c = new Country();
        c.setId(""); //id value is auto into mySQL
        c.setCity1(country.getCity1());
        c.setCity2(country.getCity2());
        session.save(c);

        transaction.commit();

    } catch (Exception e) {
        if (transaction != null) {
            transaction.rollback();
        }
        throw e;
    } finally {
        session.close();
    }
}

1 个答案:

答案 0 :(得分:0)

正如juanlumn所说删除setId(“”)为Hibernate会为你创建这个。需要调试以查看哪个对象导致NullPointerException,如需要知道您是否正在获取Hibernate会话,这将告诉您已正确配置Hibernate。你再次传递country作为方法参数,但是通过填充dao本身而不知道原因来保存c。