| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2011 08:33:27
|
wellington.nogueira
GUJ Ranger
![[Avatar]](/images/avatar/00c1de56b1cbab48f9869c1460d70e76.png)
Membro desde: 11/08/2006 11:29:56
Mensagens: 914
Localização: Osasco-SP
Offline
|
Hmm... dei uma olhada no teu exemplo, e acho que entendi o que você fez. Só achei que tudo ficou um pouco espalhado demais. Para sistemas pequenos é tranquilo e até para sistemas médios pode ser controlável, mas a medida que um sistema cresce, pode-se criar uma dificuldade bem indesejável.
No construtor das classes que herdam de Alias, tentaria fazer algo com reflection para evitar o mapeamento que seria obrigado a fazer ali (ou melhor, transferiria essa responsabilidade para o construtor do Alias).
|
57 45 4C 4C 49 4E 47 54 4F 4E
Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
"Se você acha que programar em Java com Swing é simples? Acredite em mim, não é!"
http://developmentforever.wordpress.com/ |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2011 10:22:53
|
Luiz Augusto Prado
JavaEvangelist
![[Avatar]](/images/avatar/3d1c8c0a9b95a18b60e7cbdbeea7741f.jpeg)
Membro desde: 20/02/2008 23:02:08
Mensagens: 430
Localização: Brasília
Offline
|
wellington.nogueira wrote:Hmm... dei uma olhada no teu exemplo, e acho que entendi o que você fez. Só achei que tudo ficou um pouco espalhado demais. Para sistemas pequenos é tranquilo e até para sistemas médios pode ser controlável, mas a medida que um sistema cresce, pode-se criar uma dificuldade bem indesejável.
No construtor das classes que herdam de Alias, tentaria fazer algo com reflection para evitar o mapeamento que seria obrigado a fazer ali (ou melhor, transferiria essa responsabilidade para o construtor do Alias).
Eu mudei um pouco os metodos. Vi que existiam algumas redundancias e resolvi tirar.
Existem 2 formas de se utilizar o SQL:
pela criação de um novo Context - ideal para obter listas e campos específicos. Exemplo visto no metodo mostrar_todos
apartir de algum aliase - aqui trabalhamos com objetos das entidades. com um UsuarioAliase podemos realizar um CRUD em uma tabela Usuario.
Não existe Lazzy ou Eager, por enquanto.
Usuo o setAutoCommit nas transações.
Eu aproveito que por reflection podemos ler também uma interface e desta foma fazer o mapeamento:
Postei um PDF para outros detalhes.
Os VOs e os VoAliases não precisam nem ser vistos.
Só é necessario escrever as interfaces com os mapeamentos e suas classes de negocios.
O mapeamento ficou isolado na interface enquanto seus VOs são gerados sem nenhuma annotation.
Fica a seu criterio inserir annotations ou não em seus VOs.
respondendo a sua pergunta anteriror...
é apartir da alias_Usuario que pego o nome dos campos que preciso em um select:
Desta forma o autocompletar me ajuda muito na hora de pegar os campos que preciso
Por favor, não se incomode em levantar criticas (boas ou ruim).
Para mim elas serão muito contrutivas se existirem um "porque".
Por eu ter experiência em muitas linguagens as vezes esqueço as normas
de escrita do java, por isso, se encontrar algo que poderia ficar melhor, por favor me mostre.
Quando se acostuma com um perfume não se sabe que ele não agrada a todos até que nos alertem
| Nome do arquivo |
littleOrm.pdf |
Download
|
| Descrição |
|
| Tamanho |
386 Kbytes
|
| Baixado: |
33 vez(es) |
|
Alfabetizador Orelha: http://www.codigorapido.com.br/alfa/palcosalfa.html
Meu ORM em java: http://www.guj.com.br/java/257619-meu-pequeno-orm-em-java-inspirado-no-linq-to-sql
Blog: http://ideiasdeprogramacao.blogspot.com/
Geometria Euclidiana Plana com cálculo proposicional
"Onde não ha verdade não ha sociedade." (Luiz Augusto Prado)
Evite o mal, faça o bem e cultive a mente
Atos 2:44-46
VEJAM ISSO!!!
Vídeo censurado no Brasil |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2011 21:07:07
|
Luiz Augusto Prado
JavaEvangelist
![[Avatar]](/images/avatar/3d1c8c0a9b95a18b60e7cbdbeea7741f.jpeg)
Membro desde: 20/02/2008 23:02:08
Mensagens: 430
Localização: Brasília
Offline
|
O que a curiosidade não nos leva a fazer heim?
This message was edited 1 time. Last update was at 08/11/2011 21:07:42
|
Alfabetizador Orelha: http://www.codigorapido.com.br/alfa/palcosalfa.html
Meu ORM em java: http://www.guj.com.br/java/257619-meu-pequeno-orm-em-java-inspirado-no-linq-to-sql
Blog: http://ideiasdeprogramacao.blogspot.com/
Geometria Euclidiana Plana com cálculo proposicional
"Onde não ha verdade não ha sociedade." (Luiz Augusto Prado)
Evite o mal, faça o bem e cultive a mente
Atos 2:44-46
VEJAM ISSO!!!
Vídeo censurado no Brasil |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2011 21:48:30
|
rogelgarcia
GUJ Master
![[Avatar]](/images/avatar/861e8bae74e22a572164fdb59b1caa8b.jpg)
Membro desde: 21/06/2007 23:27:21
Mensagens: 1850
Offline
|
Mas por questão de gosto pessoal, eu perfiro utilizar algo mais simples e menos dependente como
JDBC.
Acho que você está se contradizendo na sua proposta de não usar Hibernate ou JPA.
Onde está o JDBC e onde está o simples no código?
|
Rógel Garcia, criador do framework NEXT
http://www.nextframework.org
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/11/2011 01:46:28
|
Luiz Augusto Prado
JavaEvangelist
![[Avatar]](/images/avatar/3d1c8c0a9b95a18b60e7cbdbeea7741f.jpeg)
Membro desde: 20/02/2008 23:02:08
Mensagens: 430
Localização: Brasília
Offline
|
rogelgarcia wrote:
Mas por questão de gosto pessoal, eu perfiro utilizar algo mais simples e menos dependente como
JDBC.
Acho que você está se contradizendo na sua proposta de não usar Hibernate ou JPA.
Onde está o JDBC e onde está o simples no código? 
Tá aqui :
Eu mudei um pouco os metodos. Vi que existiam algumas redundancias e resolvi tirar.
http://www.guj.com.br/posts/downloadAttach/7496.java
http://www.codigorapido.com.br/testeOrm.zip
|
Alfabetizador Orelha: http://www.codigorapido.com.br/alfa/palcosalfa.html
Meu ORM em java: http://www.guj.com.br/java/257619-meu-pequeno-orm-em-java-inspirado-no-linq-to-sql
Blog: http://ideiasdeprogramacao.blogspot.com/
Geometria Euclidiana Plana com cálculo proposicional
"Onde não ha verdade não ha sociedade." (Luiz Augusto Prado)
Evite o mal, faça o bem e cultive a mente
Atos 2:44-46
VEJAM ISSO!!!
Vídeo censurado no Brasil |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/01/2012 08:30:24
|
marciobarroso
Virtual Machine Man
![[Avatar]](/images/avatar/6828f61cee49c7a4da0f9c1d3e03b857.jpg)
Membro desde: 13/05/2005 23:17:13
Mensagens: 508
Localização: Barueri / SP / BR
Offline
|
Luiz,
Acho que a iniciativa de criar algo das proporções que você esta tentando é válida quando se tem um propósito específico.
Eu já fiz algo parecido também a alguns anos, e o propósito que eu tinha era unicamente entender melhor como estes fw de orm trabalhavam ... o objetivo era unicamente educacional.
Sobre o JPA e Hibernate, acho que não é por marketing ou qq outra estratégia que são bem utilizados e conhecidos. E sim porque a JPA é uma especificação oficial ( originado da JSR 317 ) que por sua vez, foi idealizado com a mesma direção do hibernate e também pelos mesmo idealizadores.
Acho que a adoção deste conjunto começa por ai ...
Boa sorte no seu projeto =)
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/01/2012 18:50:21
|
Luiz Augusto Prado
JavaEvangelist
![[Avatar]](/images/avatar/3d1c8c0a9b95a18b60e7cbdbeea7741f.jpeg)
Membro desde: 20/02/2008 23:02:08
Mensagens: 430
Localização: Brasília
Offline
|
marciobarroso wrote:Luiz,
Acho que a iniciativa de criar algo das proporções que você esta tentando é válida quando se tem um propósito específico.
Eu já fiz algo parecido também a alguns anos, e o propósito que eu tinha era unicamente entender melhor como estes fw de orm trabalhavam ... o objetivo era unicamente educacional.
Sobre o JPA e Hibernate, acho que não é por marketing ou qq outra estratégia que são bem utilizados e conhecidos. E sim porque a JPA é uma especificação oficial ( originado da JSR 317 ) que por sua vez, foi idealizado com a mesma direção do hibernate e também pelos mesmo idealizadores.
Acho que a adoção deste conjunto começa por ai ...
Boa sorte no seu projeto =)
Olá Marciobarroso!
Muito obrigado pelas dicas.
Claro que tenho um proposito especício. Um deles é o estudo.
Conheço que JPA já possui Criteria.
Perdoem-me se eu falar bobeira aqui e se eu falar, por favor me corrijam.
Mas em se tratando de Hibernate e JPA ainda não consegui entender algumas coisas e acho estranho outras, como por exemplo:
Por que para a criação de chaves compostas temos que ter uma classe aparte (Embeddable) da tabela ?
Pra mim esse é o exemplo mais estranho que vejo:
Outra coisa é por exemplo um select:
Veja que a minha query é construida com strings: "new Grupo(id,nome)"
Aqui o id e o nome são string que só serão verificadas quando o programa for testado.
Suponha que vc escreva "nomee" e não ve o erro.
Minha tentativa é excluir essas strings da construção das queries. Isso é possivel em JPA e Hibernate?
Se for, por favor, me mostre o link que quero aprender como fazer isso.
Outro exemplo de select:
http://www.guj.com.br/java/234333-problema-com-select-jpa
veja
"SELECT usuario, senha FROM Usuario WHERE usuario = :usuario and senha = :senha"
Esse exemplo é muitissimo legal:
http://blog.werneckpaiva.com.br/2012/01/queries-com-a-nova-jpa2-criteria-api/
Mas ainda existem as strings como nome de campos.
Exemplo. Procure a linha :
builder.gt(from.get("price"), price)
String "price"
[]'s
This message was edited 1 time. Last update was at 28/01/2012 19:12:59
|
Alfabetizador Orelha: http://www.codigorapido.com.br/alfa/palcosalfa.html
Meu ORM em java: http://www.guj.com.br/java/257619-meu-pequeno-orm-em-java-inspirado-no-linq-to-sql
Blog: http://ideiasdeprogramacao.blogspot.com/
Geometria Euclidiana Plana com cálculo proposicional
"Onde não ha verdade não ha sociedade." (Luiz Augusto Prado)
Evite o mal, faça o bem e cultive a mente
Atos 2:44-46
VEJAM ISSO!!!
Vídeo censurado no Brasil |
|
|
 |
|
|
|
|