Je suis actuellement en train de travailler sur un projet qui doit persister toute sorte d'objets (dont la mise en œuvre, nous n'avons pas le contrôle) de sorte que ces objets pourraient être récupérés par la suite.
Nous ne pouvons pas mettre en œuvre un ORM parce que nous ne pouvons pas empêcher les utilisateurs de notre bibliothèque à temps de développement.
Notre première solution consistait à sérialiser avec le Java de sérialisation par défaut, mais nous avons eu beaucoup de difficultés à récupérer les objets lorsque les utilisateurs ont commencé à passer à des versions différentes d'un même objet (attributs changé les types, les noms, ...).
Nous avons essayé avec le XMLEncoder classe (transforme un objet en XML), mais nous avons découvert qu'il y est un manque de fonctionnalité (ne prend pas en charge les Énumérations, par exemple).
Enfin, nous avons également tenté de JAXB mais c'imposer à nos utilisateurs d'annoter leurs classes.
Toute bonne alternative?