Opa galera… estou estudando estes dias e estou querendo fazer a seguinte coisa. so para teste mesmo.
eu gostaria de criar uma classe que fosse capaz de montar query’s de maneira bem genérica. Por exemplo, eu gostaria de salvar o obj pessoa. Então eu chamaria esta classe que pegaria os atributos através do Pessoa.class e montaria uma query e mandava pro banco. Minha dúvida é. Como passar os parametros. EX:
queroMontarMinhaQuery(AkiTemQueIrAClasse)
mas como eu vou passar a classe? porque quando eu passar pessoa eu vou ter que pegar Pessoa.class, quando eu passar Loja vou ter que pegar Loja.class. O mesmo método pode receber classe diferentes.
mais concordo com o amigo ai de cima… estuda sobre Hibernate…
quando eu não sabia usar o Hibernate criei um framework exatamente do jeito que você está pensando!
foi legal, pois me aprofundei bastante nas classes Reflection, porém foi um trabalho ‘inutil’, pois o hibernate faz tudo isso e mais um pouco…
[quote=matheus306]Opa galera… estou estudando estes dias e estou querendo fazer a seguinte coisa. so para teste mesmo.
eu gostaria de criar uma classe que fosse capaz de montar query’s de maneira bem genérica. Por exemplo, eu gostaria de salvar o obj pessoa. Então eu chamaria esta classe que pegaria os atributos através do Pessoa.class e montaria uma query e mandava pro banco. Minha dúvida é. Como passar os parametros. EX:
queroMontarMinhaQuery(AkiTemQueIrAClasse)
mas como eu vou passar a classe? porque quando eu passar pessoa eu vou ter que pegar Pessoa.class, quando eu passar Loja vou ter que pegar Loja.class. O mesmo método pode receber classe diferentes.
[/quote]
Vc quer passar a classe, então passe a classe.
queroMontarMinhaQuery(Pessoa.class);
Para montar (build) a query vc precisa de um objeto do padrão Builder. Isso irá ajudá-lo muito. De quebra use encadeamento de métodos para facilitar. ficaria mais ou menos assim :
Depois vc manda algum objeto executar a query. Esse objeto, em algum lugar irá usar um objeto no padrão Interpreter ( ou seja um interpretador) que irá converter o objeto query em um string SQL ou em qq outra coisa que vc quiser ( um criteria do hibernate, por exemplo).