Hello,
i'am writing some swing applications(not rich clients, running standalone) with a lot of domain models. Those are Java Beans, bound to the UI via presentation models.
Now i need to save all the domain data in some kind of a custom project file format.
The software will go through many versions, in wich the domain models always change a little bit. I need to maintain backwards compatibility. I really don't know what could be the best approach to this.
I've thought about java serialization. But that seems to be a lot of low level work, implementing custom serialization carefully, for all the models. Especially if i consider the backwards compatibility part.
A bit of a better approach seems to be using hibernate and its annotations to persist the domain model. But wich database could i use for this? Can i get into problems connecting to the database because it can't be fully integrated (no communication over a port on localhost => firewalls etc.). Also, saving some files by using a orm and a database as middleware, seems a little bloated anyway.
To summarize it: I'am relatively new to java and now programming large scale swing applications. I've got nearly no experience with serialization(but i've got Effective Java :D), JPA and hibernate, available java databases and so on.
Can anyone give me a hint, please? :)