В настоящее время я работаю над проектом, который должен сохранять любой тип объекта (реализация которого мы не имеем никакого контроля), чтобы впоследствии эти объекты могли быть восстановлены.
Мы не можем реализовать ORM, потому что мы не можем ограничивать пользователей нашей библиотеки во время разработки.
Наша первая альтернатива заключалась в том, чтобы сериализовать его с использованием сериализации по умолчанию на Java, но у нас было много проблем с восстановлением объектов, когда пользователи начали передавать разные версии одного и того же объекта (атрибуты изменяли типы, имена, ...). 1005 *
Мы пробовали с классом XMLEncoder (преобразует объект в XML), но обнаружили, что отсутствует функциональность (например, не поддерживает Enums).
Наконец, мы также попробовали JAXB, но это заставляет наших пользователей комментировать свои классы.
Любая хорошая альтернатива?