Dúvida com Mapeamento

Eaí galera,

é o seguinte:

Eu tenho uma classe com alguns atributos, e tenho que permitir inserir os dados via form (jsf) e também através de um arquivo de configuração, que estou pensando em usar xml. A dúvida surge no seguinte contexto, vamos dizer que o objeto tenha 2 atributos (nome e titulo), mas no arquivo de configuração, ele insira mais um atributo (ano). Minha idéia é fazer um update na tabela inserindo uma nova coluna. ex:

Tabela Livro:

idLivro
titulo
autor

Arquivo de configuracao 1:

<livro> <titulo>titulo</titulo> <autor>autor</autor> </livro>

Arquivo de configuracao 2:

<livro> <titulo>titulo</titulo> <autor>autor</autor> <ano>2008</ano> </livro>

Alguma idéia?

Quando for inserir a coluna, coloca como default = a null, até tratar todas as entradas anteriores, depois disto, não tem mais problema =]

Várias idéias, como pretende adicionar mais um atributo ao seu objeto? Já pensou nisso?

Uma coisa simples seria um mapa (chave-valor) assim como o DynaBean da Apache faz.

Mas existem outras formas, eu já fiz (no meu TCC) um cara que gerava classes dinâmicas em tempo de execução(JAVASSIST), criava um XML para Hibernate com base em alguns dados (os mesmos que eram usados para criar as classes dinâmicas) e depois o Hibernate se encarregava de criar/atualizar o banco de dados.

Se precisar de ajuda, só falar… rs

mas tá certo minha abordagem de se encontrar uma tag nova, fazer update na tabela? tem alguma maneira de fazer isso mais simples? estou pensando em fazer um update sql na mão mesmo.

Sim, se for só o XML e o banco de dados tudo bem. Pensei que havia um objeto Java envolvido na história…

mas tem… bom, eu to pensando em fazer assim… utilizar ejb3 e jsf. só surgiu a dúvida na questao do arquivo de configuracao, porque se tiver um atributo que nao tem no banco, vou ter que dar um update na tabela.

Se você puder compartilhar seu tcc :smiley: