2017-11-16 20 views
2

私はHQLでHibernateとSpringを使ってMySQLデータベースにオブジェクトを保存しようとしています。保存するとき はしかし、ここではエラーメッセージです:java.lang.NullPointerException保存オブジェクト/ Hibernate

org.springframework.web.util.NestedServletException:リクエスト 処理が失敗しました。 juanlumnは、Hibernateはあなたのためにこれを作成するよう( "")SETIDを取り除く言ったように、ネストされた例外は、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(); 
    } 
} 
+3

質問にスタックトレースを追加します。例外が発生したソースコードの行をポイントします。そしてなぜ、_c.setId( ""); //それがautoの場合、id値はmySQL_に自動的に入りますか? – pirho

+0

c.setId( "");を削除してみます。 – juanlumn

+0

stacktraceに加えて、ヘルプが必要な場合は 'Country'の定義も投稿するべきです。 – ujulu

答えて

0

です。あなたがHibernateを正しく設定したことを知らせるHibernateセッションを取得しているかどうかを知る必要があるような、どのオブジェクトがNullPointerExceptionを引き起こしているかを見るためにデバッグする必要があります。繰り返しますが、メソッドのパラメータとして国を渡していますが、理由がわからないdao自体に値を設定してcを保存しています。

関連する問題