Hibernate - Prsistencia e Coleta d dados p/ 1 estrutura Map usnd 2 tabelas(1 p/ kda item d 1 linha)

0 respostas
C

Boa noite galera do GUJ!
Estou com um problema, e algumas dúvidas, e gostaria muito que vocês me ajudassem. Tentarei ser breve!

A situação:
Estou projetando uma aplicação que vai gerenciar um produto, porém esse produto poderá assumir diversos tipos(desse mesmo produto) em tempo de execução. Ou seja, o usuário do sistema poderá criar tipos desse produto, e cada tipo poderá ter características singulares. Por exemplo, digamos que o sistema gerencie frutas, assim, o usuário poderá criar o tipo banana, maçã, pêra, tomate, e cada um dessas frutas podem assumir variáveis diferentes.
Dessa forma fica inviável criar subclasses desse produto, tampouco modificar código a cada inserção, feita pelo usuário, de um tipo novo de produto. Então eu encapsulei as possíveis variáveis desses tipos de produto em uma estrutura Map, que é uma variável da classe produto. Portanto, o usuário pode criar um tipo de produto, criar quantas variáveis desejar para esse tipo, e então ele poderá usar tal tipo no sistema para criar objetos com tais carácterísticas e preencher as variáveis desse tipo de objeto(a redundância é proposital, espero estar sendo claro).

O problema:

Por causa dessa flexibilidade, eu estou tendo dificuldades em achar uma forma elegante de persistir em um banco de dados esse objeto e coletar informações do banco para a classe produto. Até agora eu entendi que vou precisar de algumas tabelas, “tabela produto” para guardar informações triviais para todos os tipos de produto criado pelo usuário, “tabela propriedade” para guardar as possíveis variáveis(as variáveis, não os seus valores) dos tipos, “tabela valorInteiro” para guardar os valores do tipo inteiro das variáveis salvas na tabela propriedade, “tabela valorString” para guradar os valores do tipo string das variáveis salvas na tabela propriedade, e assim vai.

…desulpem o tamanho do texto…

Dessa forma eu terei na estrutura Map: uma lista de elementos que virá da tabela “propriedade” e uma outra lista de elementos, diretamente relacionada com a anterior, de elementos provenientes das tabelas “valorInteiro” “valorString” “valorDouble” e etc…

A pergunta:
Gostaria de saber se o hibernate fornece uma maneira elegante de implementar essa “bagunça”.(rs)

Desculpem o tamanho do post, sei que é sacal ler posts enormes, porém não achei outra forma menor de descrever meu problema…

Agradeço desde já a ajuda de vocês, e espero que esse meu problema ajude a galera do forum!
Abraços!
Caio Casimiro

Criado 2 de abril de 2008
Respostas 0
Participantes 1