我目前正在开发一个项目,该项目需要保留任何类型的对象(我们无法控制其实现),以便之后可以恢复这些对象。
我们无法实现 ORM,因为我们无法在开发时限制库的用户。
我们的第一个替代方案是使用 Java 默认序列化对其进行序列化,但是当用户开始传递同一对象的不同版本(属性更改类型、名称等)时,我们在恢复对象时遇到了很多麻烦。
我们尝试过使用 XMLEncoder 类(将对象转换为 XML),但我们发现缺少功能(例如不支持 Enums)。
最后,我们还尝试了 JAXB,但这迫使我们的用户注释他们的类。
有什么好的选择吗?