Estou com o seguinte problema:
Tenho que fazer uma conexão com o banco de dados e buscar por exemplo todos os dados de uma tabela, com essa informação eu tenho que criar dinamicamente em tempo de execução o VO e o DAO para esta respectiva tabela.
Teria como fazer isso, qual a melhor maneira, isso terá um impacto negativo na minha aplicação (web).
Desde já agradeço.
Vc vai usar interfaces + castings + factorys + proxys
Agora isso pode ser feito de N maneiras…especifique melhor onde vc vai usar isso.
Alexandre_Saudate
Sempre indico o javassist para todos que fazem essa pergunta. Mas sempre pergunto , também, se não existe maneira mais fácil de fazer isso. Lembre-se de que existem maneiras de gerar um VO dinamicamente via Java, através de técnicas como a exposta aqui.
[]´s
L
Leonardo3001
Dependendo do porque você vai precisar disso, a solução pode mudar completamente.
A minha solução parte da premissa de que as tabelas são alteradas em tempo de desenvolvimento, ou seja, quando tiver em produção o schema estará estável. Por cima é assim: escreva um template do Velocity que gerem arquivos .java. Faça um processador que leia algumas strings da linha de comando e use isso pra gerar seus executáveis. Aí é só compilar e rodar.
acdelemos
obrigado pelas dicas, estou tentando me aprofundar nelas.
E para ilustrar mais a situação: toda a regra de negócio fica no banco, se um determinado cliente pedir para ser incluído/removido um número x de atributos em uma determinada tabela isso é feito na base de dados dele e assim que o sistema for aberto/atualizado essas informações já estarão disponíveis pra ele em tela e ele poderá persistir sem problema nenhum.
Acho que agora fui um pouco mais claro.
então pra que isso aconteça tenho que desenvolver tudo isso dinamicamente no java.
Abraços a todos.
Alexandre_Saudate
Se a regra de negócio for algo que envolva programação, mesmo, javassist é sua melhor opção. Caso sejam só atributos, use o tutorial de beans dinâmicos que te passei.
Mas, posso falar uma coisa? Ví escrito esse design pattern pelo q vc falou das regras ficarem no banco =P
Brincadeira, OK ?
[]´s
acdelemos
asaudate concordo com você (link), mas sou pago pra fazer então sem stress.
Alexandre_Saudate
acdelemos:
asaudate concordo com você (link), mas sou pago pra fazer então sem stress.
Tranquilo… é só que eu nunca ví o javassist ter uma aplicação prática, realmente. Então, acho que esse “design pattern” justifica o uso =P