2013-11-14 177 views
1

我用彈簧數據jpa編寫了一個具有彈簧啓動的Web服務以實現持久性。 webservice有一些靜態對象(在Singleton Bean中)需要備份到我的數據庫。彈簧數據JPA保存()拋出NPE

有時候! (太差勁了......我不」真正知道會發生什麼)當我打電話

ObjectType updated = myRepository.save(existingObject)

我得到一個顯示java.lang.NullPointerException - 無需使用堆棧跟蹤作爲這樣的方法是通過@Scheduled運行。 我試過調試和existingObject似乎是絕對好的。僅當existingObject實際上不是新對象時(即,當id!= 0時),纔會出現錯誤

P.S.我使用的是Spring Boot,因此並沒有真正使用EntityManager。我只使用@Autowired myRepository。

+0

我有懷疑,@Schedule備份方法實際上可能嘗試調用myRepository.save(),而existingObject可能有空的字段,但不應該是。仍然...這很奇怪。 – Alex

回答

0

您還沒有提供足夠的信息。如果該行是發生NullPointerException的地方,那麼唯一的可能是myRepository爲null,或者existingObject爲null。但是,由於保存中的某些內容,可能會發生NullPointerException。將代碼封裝在try catch中,並將異常堆棧跟蹤記錄到文件中。

如果必要,在這裏籤記錄定製說明: