Posting here because a lot of the people who made persistence happen posted in here. First off, I'm curious as to why there was no official announcement to dev's that bukkit added persistence support (in the form of SQLite with Ebean frontend). It's a rather big deal. There are no official explanations on how to use it (we are just assumed to completely understand a rather large, foreign, and worst, not very widely used API immediately.). I'm also confused at how Ebean was even chosen. Was there any internal discussion? Were pro/cons weighed between other, more popular alternatives? Did @Dinnerbone re-label a Russian roulette and spin that to chose? (I kid...) Additionally, I've noticed several quirks using Ebean. The most obvious issue is that it tends to spit out vague, and useless logs to the console that frighten users Example: Spoiler (Move your mouse to the spoiler area to reveal the content) Show Spoiler Hide Spoiler Code: DataSourcePool [MinecartManiaCore] autoCommit[false] transIsolation[SERIALIZABLE] min max SubClassFactory parent ClassLoader [org.bukkit.plugin.java.PluginClassLoader] Entities enhanced subclassed DataSourcePool [MinecartManiaSignCommands] autoCommit[false] transIsolation[SERIALIZABLE] min max SubClassFactory parent ClassLoader [org.bukkit.plugin.java.PluginClassLoader] Entities enhanced subclassed SubClassFactory parent ClassLoader [org.bukkit.plugin.java.PluginClassLoader] Entities enhanced subclassed There seems to be no way to turn that off. In fact, the logs appear even before the initial onLoad or onEnable methods are called. More annoying than that, there is no way to configure where the database files are created. Bukkit blindly assmes I'm using the default data folder (I'm not) and creates that and sticks it in there. This clutters the plugins folder even more. Worse, there seems to be no way to change the initial database once you've created it. Adding a new field, or a new table entirely both throw exceptions, and probably would require me to use SQL to modify the database by hand. If I'm going to do that, why should I bother with Ebean? Worst of all, EBean chokes on /reload about 35% of the time, with extremely useless exception logs that completely break the plugin. The exception seems to have to do with the way classes are identified and loaded, but that's the most I can tell you. Telling users to completely stop and start the server again is a non-starter. Example: http://pastebin.com/Gwpt8Tua In my experience, when Ebean works, it works perfectly. When it doesn't, it explodes into pieces.