the save() method seems fine... I used to have exactly the same and it's working, the "UPDATE" thingy is fine, you don't need to delete and insert...
the only thing that comes to my mind is that you're calling wrong the "save()" method when the server is restarting... but that would be weird... try changing the method by "public static void save()" and then access with "TzVoteRewardManager.save()", I feel like it's stupid but I don't see any problem in the whole code..