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.