Como criar VOs e DAOs dinâmicos  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
acdelemos
Entusiasta Java
[Avatar]

Membro desde: 16/07/2007 11:13:44
Mensagens: 15
Offline

Olá pessoal.

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.
Giulliano
GUJ Master
[Avatar]

Membro desde: 14/11/2006 19:29:38
Mensagens: 1623
Localização: São Paulo
Offline

Vc vai usar interfaces + castings + factorys + proxys

Agora isso pode ser feito de N maneiras...especifique melhor onde vc vai usar isso.

Oracle Certified Master, Java EE 5 Enterprise Architect
Oracle Certified Professional Java Programmer
GiuLLianO MoRRoNi




<UnTouChAbLe>
[Email] [WWW] [MSN]
asaudate
GUJ Master
[Avatar]

Membro desde: 01/09/2007 19:31:41
Mensagens: 1669
Localização: São Paulo
Offline

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

Alexandre Saudate
__________________________

Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.

Série quickstart: Spring+Spring Security+Jersey+Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate

Precisa de uma ferramenta boa para web services, mas está cansado das ferramentas tradicionais? #Banshee

Evite usar Axis2!!! Leia aqui para mais detalhes!

@alesaudate
Quer ler um blog especializado em web services e SOA?

Leonardo3001
GUJ Ranger

Membro desde: 04/07/2007 18:28:58
Mensagens: 975
Offline

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.


Leonardo Veríssimo
-------------------------------------------------
Objectzilla
[WWW]
acdelemos
Entusiasta Java
[Avatar]

Membro desde: 16/07/2007 11:13:44
Mensagens: 15
Offline

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.
asaudate
GUJ Master
[Avatar]

Membro desde: 01/09/2007 19:31:41
Mensagens: 1669
Localização: São Paulo
Offline

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

This message was edited 1 time. Last update was at 16/03/2010 14:38:33


Alexandre Saudate
__________________________

Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.

Série quickstart: Spring+Spring Security+Jersey+Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate

Precisa de uma ferramenta boa para web services, mas está cansado das ferramentas tradicionais? #Banshee

Evite usar Axis2!!! Leia aqui para mais detalhes!

@alesaudate
Quer ler um blog especializado em web services e SOA?

acdelemos
Entusiasta Java
[Avatar]

Membro desde: 16/07/2007 11:13:44
Mensagens: 15
Offline

asaudate concordo com você (link), mas sou pago pra fazer então sem stress.
asaudate
GUJ Master
[Avatar]

Membro desde: 01/09/2007 19:31:41
Mensagens: 1669
Localização: São Paulo
Offline

acdelemos wrote: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

[]´s

Alexandre Saudate
__________________________

Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.

Série quickstart: Spring+Spring Security+Jersey+Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate

Precisa de uma ferramenta boa para web services, mas está cansado das ferramentas tradicionais? #Banshee

Evite usar Axis2!!! Leia aqui para mais detalhes!

@alesaudate
Quer ler um blog especializado em web services e SOA?

 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team