| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/10/2011 17:59:59
|
champs
Entusiasta Java
Membro desde: 24/08/2011 14:02:23
Mensagens: 24
Offline
|
E ai galera, blz?
Seguinte, tenho a seguinte dúvida: tem como criar classes dinamicamente, atraves de banco de dados, arquivo, ou algum outro tipo de entrada? E se tiver, tem como gerar os anottations automaticamente?
Valeu Galera.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/10/2011 18:43:17
|
ssh
JavaEvangelist
![[Avatar]](/images/avatar/4f73663dece5c1d32e58d5fcb6e89375.jpg)
Membro desde: 08/10/2011 11:18:37
Mensagens: 413
Offline
|
ahn?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/10/2011 18:47:50
|
AbelBueno
Virtual Machine Man
Membro desde: 04/08/2010 09:37:57
Mensagens: 543
Offline
|
Você quer gerar o código das classes utilizando engenharia reversa ou quer classes novas criadas em tempo de execução?
No Netbeans, por exemplo, há uma ferramenta para ler tabelas do banco de dados e criar suas classes a partir delas.
Se for realmente para criar novas classes em tempo de execução, não seria algo tão trivial.
O que pretende fazer com isso?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/10/2011 18:59:04
|
champs
Entusiasta Java
Membro desde: 24/08/2011 14:02:23
Mensagens: 24
Offline
|
Seria algo do tipo: em um banco de dados temos o campo nome do tipo texto, e o campo idade do tipo inteiro. Ai algum processo vai ler e gerar as classes.
O que eu pretendo fazer com isso é criar uma ferramenta para criação de games.
Tipo, pode ser feita uma meta classe, para servir de base para as classes gerada?
Abraços.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/10/2011 19:09:39
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Para extrair os metadados do banco use ResultSetMetaData e DatabaseMetaData, ambas interfaces do pacote java.sql.
Para classes "dinâmicas", você pode usar a biblioteca commons bean utils, mais precisamente a classe BasicDynaClass. Para beans (entenda "objetos") dinâmicos, você pode usar a classe BasicDynaBean. Essas duas classes implementam respectivamente as interfaces DynaClass e DynaBean.
[]'s
This message was edited 1 time. Last update was at 31/10/2011 19:17:16
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/10/2011 21:10:41
|
champs
Entusiasta Java
Membro desde: 24/08/2011 14:02:23
Mensagens: 24
Offline
|
Entendi, obrigado.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/11/2011 08:47:26
|
fabiofalci
GUJ Master
![[Avatar]](/images/avatar/c359889a833e7612e0cff1dc69d272bc.png)
Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline
|
Algo mais avançado, com classes dinâmicas em tempo de execução, vc pode usar algo como
http://www.csg.is.titech.ac.jp/~chiba/javassist/
Olha um exemplo de uso:
https://github.com/playframework/play/blob/master/framework/src/play/db/jpa/JPAEnhancer.java
|
|
|
 |
|
|