我正在寻找一个开源库,该库可用于透明地将java对象(及其依赖项)保存到文件或db(一种快照)中。

用例示例:我在一组对象,玩家,得分,位置等中拥有游戏的状态。用户单击“保存”,现在我需要保存这些对象(所有要保存的对象都可以添加注释)文件或数据库。如果系统崩溃或以后有用户登录,我应该可以从这一点恢复。

我正在寻找一个可以尽可能透明和有效地执行此操作的库。不需要交易等。
我的首要任务是


开源,免费,优质文档
使用方便。用户应
修改某些内容后不必手动保存对象。的
如果他必须这样做,那应该是微不足道的活动
稳定
应该
易于从快照中读取和恢复。


是否存在一个涵盖上述需求的全部4个或至少一部分的库?我愿意面向方面的方法

我要问用例的错误q吗?在行业中做的方式有很大不同吗?

最佳答案

您可以使用标准的Java序列化机制。如果要保存的所有类都实现了标记接口Serializable,则可以透明地保存与对象图一样大的内容。它不是数据库,而是文件,但是您始终可以将这些对象读回您的应用程序,这可能是您的最佳选择(或第一个选择)。

此方法的缺点是数据是二进制的,即您无法使用记事本读取数据。而且格式对类中所做的更改非常敏感,因此支持向后/向前兼容性是有问题的。

其他可能性是将对象序列化为XML或JSON。对于XML,请尝试JAXB或XStream。对于JSON,请查看here

10-06 14:19
查看更多