Ich habe eine Abfrage numerische Werte von einzelnen Spalte zu summieren:JDBC-Vorlage wirft Nullpointer wenn keine Zeilen gefunden
int numberOfDays = jdbcTemplate.queryForObject
("select sum(number_of_days) from business_trip where name = ? and surname = ? and type = ?",new Object[]{name,surname,"UE"},Integer.class);
Es funktioniert gut, solange es eine Geschäftsreise von UE Kategorie für ausgewählte Benutzer. Dann werden die Reisetage korrekt berechnet. Wenn es jedoch keine Reisen der Kategorie UE gibt, bekomme ich anstelle von Null NullPointerException. Ich kann diese Zeile in try/catch platzieren, aber das wäre ein Workaround. Ich möchte herausfinden, warum NPE in einem solchen Fall geworfen wird.
*2016-11-24 11:13:02.613 ERROR 8316 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause java.lang.NullPointerException: null
at com.tfb.dao.BusinessTripDAO.getKrajoweTripsDaysForEmployee(BusinessTripDAO.java:59) ~[classes/:na]*
und Linie 59 transformiert werden, die mit dem 'jdbcTemplate.queryForObject'? – pleft
das ist richtig – jarosik