Tenho um projeto para desktop, uma IDE e Compilador, que em momento nenhum utiliza acesso a servidor, web ou qualquer comunicação externa, apenas a aplicação rodando por conta no PC.
E estou com dúvida sobre o melhor meio para salvar os dados, de modo que o software seja portável a ponto de eu poder acrescentar e remover atributos das classes e, com o mínimo de mudanças, manter a compatibilidade com versões antigas - o software novo sempre deve conseguir abrir os programas escritos nas versões mais antigas.
A classe java.io me pareceu deixar a desejar, estive lendo sobre os bancos de dados com JDBC e SQL, sobre Hibernate, sobre EJB, achei interessante mas ainda estou com algumas dúvidas:
- Hibernate e EJB são apenas para acesso a dados em um servidor? Ou posso usar na minha aplicação desktop e salvar os dados em “Meus Documentos”?
- Entre estes e outros, qual modo vcs recomendam para salvar os arquivos no pc de modo a manter essa flexibilidade (eu poder alterar o software e manter a compatibilidade com o mínimo de alterações no código)?
ps. De preferência com acesso rápido aos dados, fiz testes com serialização e achei um tanto lerdo demais… (e depois fiquei sabendo dos outros problemas da serialização e abandonei de vez…)