I recently started working on way that allows me to save information about an item to database including actual metadata. When I'm saving items to database I just take item, get basic information from it (id, durability, etc.). I have no problem when i got ItemMeta, serialize it to HashMap and then used Gson to transfer it to string json, which i can save to database finally. Real problem occurs when I am trying to load that item from database. I thought it would be enough when I reverse way I am saving items. I thought i would be just get the metadata string (json) from database, transfer it to HashMap and then somehow deserialize it to itemMeta object, with which I could just set ItemMeta for item, which I am loading. Spoiler: Links and other stuff Github repository Class for getting information from items including metadata serialization I am getting null here when meta deserialization failed -> causing NullPointerException -> log 1 here, log 2 here Database screen, Some items works good, Some items works weird I finally got to my question: Is there any way to save item with metadata in human readable form to database or is there any way to fix my code? My goal is save every single item in game to database and sucessfully load it from database to game. Is this even possible? Note: Please don't blame me if I have code that is absolutely wrong or inefficient. I am beginner in java and bukkit/spigot development. Sorry for mistakes i have made in this text.