簡體   English   中英

如何將原始屬性添加到現有java數據存儲區實體以避免空指針異常

[英]How to add primitive property to existing java datastore entity to avoid null pointer exception

我在我的gae數據存儲區中有一個類型的現有實體,我想要添加一個原始類型為“long”的新原始屬性:

@Persistent     private long bests = 0;

當我這樣做,當我嘗試加載顯然沒有設置此屬性的現有實體時,我得到:

java.lang.NullPointerException:具有類型Player和密鑰播放器(“patrick”)的數據存儲區實體具有名為bests的null屬性。 此屬性映射到model.Player.bests,它不能接受空值。

我該怎么做才能避免這個問題? 像字段不存在時默認為零的方法? 我想避免使用類Long,並堅持使用原始long。

您可以暫時使用Long,將所有實體更新為零值,然后將該字段更改為long。 或者,將所有數據讀入某個文件,刪除所有實體,然后使用新的長字段將其寫回(小心所有權鏈接被破壞)。

java類型的Long接受nulls,long不接受。 現有數據不會那么為空。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM