Mapear uma classe em Runtime no hibernate

OBS - Estou desenvolvendo um FRAMEWORK para desenvolvimento de aplicativos Cliente / Servidor de forma que o programador desenvolva basicamente O PROGRAMA, sem se preocupar com arquitetura, banco de dados, etc.

Assim que este FRAMEWORK estiver pronto, vou disponibilizá-lo gratuitamente na internet, porém preciso de uma ajuda muito importante!

O FRAMEWORK utilizará hibernate para acesso à base de dados. Mas devido à arquitetura que será adotada, não será possível utilizar anotations nem os arquivos hb.xml.

Pois o programa vai trabalhar através de plugins.

Temos o programa principal (que vai disponibilizar uma session do hibernate) e temos os plugins (que podem estar presentes ou não). Cada plugin vai implementar uma classe abstrata (AbstractPlugin). Essa classe abstrata tem dois metodos getTables (que retorna um conjunto de tabelas e campos) que o programa principal criará.

Agora, eu preciso descobrir como fazer o mapeamento Tabela < - > Classe em runtime, pois assim que o plugin for iniciado o sistema deverá mapear as classes para que o plugin funcione corretamente.

Kra, me parece que estou tentando fazer algo parecido com o que voce esta fazendo.
Poderia me auxiliar neste ponto?
Olhe minha duvida e me ajude a entender como funciona isto, por favor.
http://www.guj.com.br/posts/list/211613.java
Agradeço.

Quanto ao Hibernate, não sei se será possível voce fazer isto, vez que ele carrega todo o mapeamento quando sobe o servidor.
Uma alternativa, que pode não ser das melhores (mas pode funcionar) é criar uma classe que escreva o xml do mapeamento e add a linha do novo mapeamento em hibernate.cfg.
Ah!!! neste caso, acho que voce precisara dar uma olhada em servlet reloader(ou algo do tipo) do server.xml (não me recordo bem como funciona, mas permite o server ser recarregado quando arquivos são alterados. Ou voce mesmo pode trabalhar numa forma de dar um restart no server atraves de comandos. O que penso ser melhor, pq dependendo do container, a memória vai ir embora rapidinho com servlet reload).

Nossa, vou procurar mais sobre isto. Tive que fazer uma implementação há algum tempo em um projeto onde usava webwork e em determinado momento, o administrador poderia configurar algo que iria alterar o xwork.xml e, neste caso, eu tinha que dar reload no contexto. Vou garimpar meus projetos antigos quando chegar em casa.

Bom, seja como for. A alternativa é criar um DAO na unha… =p

Kra, veja se voce consegue me ajudar. Me de um rumo pra eu iniciar meus servicos aqui.

Att,

Lucas Israel