2017-11-16 3 views
2

Ich versuche, ein Objekt in meiner MySQL-Datenbank mit Hibernate und Spring in HQL zu speichern. jedoch beim Speichern, hier ist die Fehlermeldung:java.lang.NullPointerException beim Speichern Objekt/Hibernate

org.springframework.web.util.NestedServletException: Anfrage Verarbeitung fehlgeschlagen; verschachtelte Ausnahme ist 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

Stapelspur zu Frage hinzufügen. Zeigen Sie auf die Zeile in dem Quellcode, in dem die Ausnahme auftritt. Und warum _c.setId (""); // ID-Wert ist automatisch in mySQL_, wenn es automatisch ist? – pirho

+0

Versuchen Sie, c.setId ("") zu entfernen. – juanlumn

+0

Zusätzlich zu dem Stacktrace sollten Sie auch die Definition des 'Country's veröffentlichen, wenn Sie Hilfe benötigen. – ujulu

Antwort

0

Als juanlumn setId entfernen sagte ("") als Hibernate diese für Sie erstellen. Sie müssen debuggen, um zu sehen, welches Objekt NullPointerException verursacht. Sie müssen wissen, ob Sie eine Hibernate-Sitzung erhalten, die Sie darüber informiert, dass Sie Hibernate ordnungsgemäß konfiguriert haben. Wieder werden Sie als Methode Parameter Land passieren, aber c durch Auffüllen in Dao selbst nicht sicher, warum.

Verwandte Themen