Hibernate - tabelas existentes apenas em tempo de execução

Pessoal, estou com um problemão.
É até complicado pra explicar.

Estou usando o hibernate.

Eu tenho uma classe Produto e cada produto é de um tipo.
Cada Produto tem um complemento (tabelas de complemento) com base no tipo.
Seria algo como o modelo em anexo.
Veja q tem algumas tabelas de complemento e outras podem aparecer depois já com o sistema em produção.
Alguns atributos existirão em todas as tabelas, mas outras tabelas terão seus próprios atributos.

O problema é o seguinte:
Um novo tipo de produto pode aparecer e ai uma tabela de complemento para este tipo será criada (pelo dba) diretamente no banco.
Ou seja, tenho um produto q terá um complemento, mas o complemento só será conhecido em tempo de execução, passando o nome da tabela de complemento, por exemplo.
Preciso de idéias de como fazer isso com o hibernate.

Isso foi idéia de quem modelou o sistema e preciso de idéias pra saber como fazer ou questionar isso.

Não sei se algum tipo de mapeamento automatico (se é q existe) resolveria.
:cry:


Não é possivel pois em persistencia as classes são criadas a partir de um banco de dados com estrutura definida, se você tem uma estrutura parcialmente definida você pode fazer classes para a estrutura atual, quando você criar tabelas e relacionamentos novos precisara editar e criar novas classes.

Pois eh.
Já falei q isso não é bom, mesmo que tenha como fazer.
Já mostrei vários pontos negativos e acredito q não será mais feito assim.