| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/03/2008 08:09:02
|
Mauricio Linhares
Moderador
![[Avatar]](/images/avatar/97af07a14cacba681feacf3012730892.jpg)
Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline
|
marcus.floriano wrote:Qual é o problema utilizar o que tem de amais no Hibernet ou no Toplink, pois o tópico desse forum "JPA não tem uma API de Criteria? Que absurdo é esse?" não é verdade conforme o exemplo que mandei e segue o pequeno trecho abaixo:
Estou enganado?
Está, esse código não funciona pro TopLink, só pro Hibernate.
|
Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr
Screencast de Introdução a linguagem Objective-C |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/03/2008 08:28:09
|
sergiotaborda
GUJ Expert
![[Avatar]](/images/avatar/b4a0e0fbaa9f16d8947c49f4e610b549.png)
Membro desde: 22/03/2005 20:57:48
Mensagens: 3420
Offline
|
Maurício Linhares wrote:
Agora eu pergunto aos gênios que tiveram essa maravilhosa idéia, se eu tiver que montar uma query em tempo de execução (dinamicamente) eu vou ter que fazer concatenação de Strings em EJB-QL? Isso é absurdo!
Não , não... eles não querem que vc faça concatenação de strings. eles querem que vc use StringBuilder. lol
|
Criando sua própria API de Validação
Blog do MiddleHeaven |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/03/2008 08:59:57
|
Leozin
JWizard
![[Avatar]](/images/avatar/5dca4c6b9e244d24a30b4c45601d9720.png)
Membro desde: 18/06/2005 21:01:26
Mensagens: 2286
Localização: São Paulo/SP
Offline
|
puta que pariu, phoenix down no tópico
mas whatever, sobre a API de critéria, o que talvez possa ser interessante é, caso tu queira um negócio mais "compatível" com o resto das coisas, ou usa um QueryObject ou usa a API de critéria do Hibernate ou Toplink. Ambos tem suas respectivas implementações, basta dar uma olhada
abraços
|
http://www.leozin.com.br/blog |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/03/2008 09:25:26
|
Kenobi
GUJ Master
![[Avatar]](/images/avatar/cf2226ddd41b1a2d0ae51dab54d32c36.jpg)
Membro desde: 14/11/2003 13:06:37
Mensagens: 1678
Localização: Brasil
Offline
|
Complicado mesmo Maurício. Nesse exato momento estou escrevendo um componente adicional para o WLI ( Weblogic Integration - Apache Beehive) encapsulando a persistência no modelo ORM.
Como vou utillizá-lo dentro de um processo ( JSR 207), todas as queries serão dinâmicas.
Infelizmente ele vai ter de mudar de nome para HibernateControl, rsss até a JPA 2 sair do papel ....
|
----------------------------------------------------------
SOA|EXPERT - http://www.soaexpert.com.br
SOA de um jeito simples e eficiente. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/03/2008 09:27:30
|
Mauricio Linhares
Moderador
![[Avatar]](/images/avatar/97af07a14cacba681feacf3012730892.jpg)
Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline
|
Pois é, só percebam um pequeno detalhe, esse tópico tem 2 aninhos de vida e até agora nada.
Eu amo o Hibernate
|
Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr
Screencast de Introdução a linguagem Objective-C |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/10/2008 08:09:36
|
cmilfont
Debugger
![[Avatar]](/images/avatar/4b85256c4881edb6c0776df5d81f6236.jpg)
Membro desde: 23/02/2005 10:58:35
Mensagens: 74
Offline
|
Mauricio Linhares wrote:Pois é, só percebam um pequeno detalhe, esse tópico tem 2 aninhos de vida e até agora nada.
Eu amo o Hibernate 
Terminando mais um ano, Early Draft se preparando para gerar a versão final da JPA2 e nada de Criteria
|
http://www.milfont.org/tech/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/10/2008 08:15:43
|
Mauricio Linhares
Moderador
![[Avatar]](/images/avatar/97af07a14cacba681feacf3012730892.jpg)
Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline
|
Só o fato de não ter criteria e saveOrUpdate() mostram como JPA é um fiasco completo.
|
Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr
Screencast de Introdução a linguagem Objective-C |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/10/2008 08:25:14
|
Leozin
JWizard
![[Avatar]](/images/avatar/5dca4c6b9e244d24a30b4c45601d9720.png)
Membro desde: 18/06/2005 21:01:26
Mensagens: 2286
Localização: São Paulo/SP
Offline
|
JPA fica bom quando usado com a implementação do Hibernate e usado os JPATemplate do Spring
Daí sim fica bom (mesmo!)
|
http://www.leozin.com.br/blog |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/10/2008 08:55:30
|
luistiagos
GUJ Expert
![[Avatar]](/images/avatar/98785ca89cfbbe933921bfe68a94553b.jpg)
Membro desde: 10/07/2006 10:37:23
Mensagens: 3009
Offline
|
Concordo em não ter criteria... algo mais inutil que ja vi é este criteria... para querys pequenas até vai mas vai pegar um relatorio filho da p**** pra fazer com uma porrada de campos e de tabelas e vai querer usar criteria pra fazer isto... não é nada trivial... vc vai se quebrar muito pra fazer isto em criteria... algo que vc tera uma dor de cabeça muito menor se fizer em hql com stringbuilders ou com bem menas dor de cabeça se fizer em sql nativo mesmo... ao meu ver coisas do tipo hql são uteis para pequenas consultas... este tipo de coisa não é muito bom pois vamos que o cliente ou o analista de negocios me peça a query da app para analisar? com criteria ou hql eu terei que refazer o sql nativo para mandar para ele pois o qual o hibernate gera é quase que ilegivel... e poucos teriam coragem de mandar algo daquele jeito... e se vc quiser testar em seu sgdb? mesma coisa... vc não vai ter como depurar o hql ou o criteria no seu sgdb... porem com sql nativo não tera problemas... alem disso hql e criteria tem uma curva de aprendizado longa... e no final toda aquela tranqueira de codigo vai virar sql nativo para ser executado... e quem vai fazer isto para vc? o framework... quem lhe garante que ele ira fazer da melhor forma? ja vi varios problemas de relatorios lentos por causa desses criterias e hqls da vida... acho que criteria e hql são bem vindos para coisas pequenas porem relatorios grandes eles só são uma dor de cabeça... agora criteria é algo totalmente fresco... montar querys via codigo pq não acha bonito colocar hqls ou sqls no codigo... o que isto acrescenta em desempenho, legibilidade, e em facil manutenção? acho que nada... alem do mais se analisar em questão de performace o framework tera que parsear sua query de acordo com seu criteria e isto ja é perca de performace...
acho que muitos pensão que ao usar um framework devem usar 100% dele e não o 100% dele que é devidamente util em seu projeto...
This message was edited 1 time. Last update was at 27/10/2008 08:57:39
|
SCJP 1.5
SCJA 1.0
IBM DB2 Associate |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/10/2008 09:01:03
|
Mauricio Linhares
Moderador
![[Avatar]](/images/avatar/97af07a14cacba681feacf3012730892.jpg)
Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline
|
Companheiro, criteria e HQL não existem para serem utilizadas pra fazer relatórios, se alguém lhe disse que deveria usar isso pra relatórios, avise ao seu companheiro que a proposta delas não é essa.
HQL e criteria são para montar consultas complexas entre objetos e não entre tabelas.
Outra coisa, por favor, use parágrafos, pontos finais e vírgulas no seu texto, ele é praticamente ininteligível.
|
Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr
Screencast de Introdução a linguagem Objective-C |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/10/2008 09:04:49
|
cmilfont
Debugger
![[Avatar]](/images/avatar/4b85256c4881edb6c0776df5d81f6236.jpg)
Membro desde: 23/02/2005 10:58:35
Mensagens: 74
Offline
|
luistiagos wrote:Concordo em não ter criteria... algo mais inutil que ja vi é este criteria... para querys pequenas até vai mas vai pegar um relatorio filho da p**** pra fazer com uma porrada de campos e de tabelas e vai querer usar criteria pra fazer isto... não é nada trivial... vc vai se quebrar muito pra fazer isto em criteria... algo que vc tera uma dor de cabeça muito menor se fizer em hql com stringbuilders ou com bem menas dor de cabeça se fizer em sql nativo mesmo... ao meu ver coisas do tipo hql são uteis para pequenas consultas... este tipo de coisa não é muito bom pois vamos que o cliente ou o analista de negocios me peça a query da app para analisar? com criteria ou hql eu terei que refazer o sql nativo para mandar para ele pois o qual o hibernate gera é quase que ilegivel... e poucos teriam coragem de mandar algo daquele jeito... e se vc quiser testar em seu sgdb? mesma coisa... vc não vai ter como depurar o hql ou o criteria no seu sgdb... porem com sql nativo não tera problemas... alem disso hql e criteria tem uma curva de aprendizado longa... e no final toda aquela tranqueira de codigo vai virar sql nativo para ser executado... e quem vai fazer isto para vc? o framework... quem lhe garante que ele ira fazer da melhor forma? ja vi varios problemas de relatorios lentos por causa desses criterias e hqls da vida... acho que criteria e hql são bem vindos para coisas pequenas porem relatorios grandes eles só são uma dor de cabeça... agora criteria é algo totalmente fresco... montar querys via codigo pq não acha bonito colocar hqls ou sqls no codigo... o que isto acrescenta em desempenho, legibilidade, e em facil manutenção? acho que nada... alem do mais se analisar em questão de performace o framework tera que parsear sua query de acordo com seu criteria e isto ja é perca de performace...
acho que muitos pensão que ao usar um framework devem usar 100% dele e não o 100% dele que é devidamente util em seu projeto...
Criteria é necessário para ORM, relatórios são basicamente sínteses de dados tabulados, você nunca deve usar uma ferramenta de ORM para gerar relatórios. se voce vai montar relatórios com HQL é algo totalmente estúpido.
Além do que relatório em tese você desenha em uma ferramenta como Crystal ou IReport, para que você usaria um ORM para isso?
|
http://www.milfont.org/tech/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/10/2008 10:31:55
|
cmilfont
Debugger
![[Avatar]](/images/avatar/4b85256c4881edb6c0776df5d81f6236.jpg)
Membro desde: 23/02/2005 10:58:35
Mensagens: 74
Offline
|
Mauricio Linhares wrote:Companheiro, criteria e HQL não existem para serem utilizadas pra fazer relatórios, se alguém lhe disse que deveria usar isso pra relatórios, avise ao seu companheiro que a proposta delas não é essa.
HQL e criteria são para montar consultas complexas entre objetos e não entre tabelas.
Outra coisa, por favor, use parágrafos, pontos finais e vírgulas no seu texto, ele é praticamente ininteligível.
Lembrei dessa thread porque rolou discussão no CEJUG sobre um problema entre implementações da JPA. Ainda continuamos sem uma spec adequada de ORM, a JCP teimou com JDO durante tempos, agora está teimando com JPA sem Criteria :p
Mas o que me espanta é que ainda não sabem para que é HQL, Criteria... enfim, ORM!
|
http://www.milfont.org/tech/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/10/2008 10:34:35
|
Mauricio Linhares
Moderador
![[Avatar]](/images/avatar/97af07a14cacba681feacf3012730892.jpg)
Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline
|
Já faz tempo que eu desisti de esperar qualquer coisa decente do JCP, é muita politicagem num buraco só. Por isso que Java nunca vai ter nada comparável a LINQ, eles nunca vão conseguir convencer todos os vendors a implementar aquilo completo (assim como eles não conseguiram nem convencer eles a ter as suas próprias APIs de criteria).
Democracia não funciona nesses casos, ainda mais uma onde tanta gente pode meter o bedelho. O negócio é ignorar que isso existe e simplesmente continuar a utilizar o Hibernate.
|
Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr
Screencast de Introdução a linguagem Objective-C |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/10/2008 10:37:05
|
Leonardo3001
GUJ Ranger
Membro desde: 04/07/2007 18:28:58
Mensagens: 975
Offline
|
Pegando o Early Draft Review da JSR 317, você vê na página 101 o seguinte trecho:
Extensions to the Java Persistence query language and an API for criteria queries will be
addressed in the next draft of this specification.
Portanto, calma. Ainda há uma chance das Criterias aparecerem.
|
Leonardo Veríssimo
-------------------------------------------------
Objectzilla |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/10/2008 10:40:29
|
cmilfont
Debugger
![[Avatar]](/images/avatar/4b85256c4881edb6c0776df5d81f6236.jpg)
Membro desde: 23/02/2005 10:58:35
Mensagens: 74
Offline
|
Mauricio Linhares wrote:Já faz tempo que eu desisti de esperar qualquer coisa decente do JCP, é muita politicagem num buraco só. Por isso que Java nunca vai ter nada comparável a LINQ, eles nunca vão conseguir convencer todos os vendors a implementar aquilo completo (assim como eles não conseguiram nem convencer eles a ter as suas próprias APIs de criteria).
Democracia não funciona nesses casos, ainda mais uma onde tanta gente pode meter o bedelho. O negócio é ignorar que isso existe e simplesmente continuar a utilizar o Hibernate.
Acabei de escrever no blog sobre a Thread no CEJUG -> http://www.milfont.org/tech/2008/10/27/especificacao-ou-implementacao/
Problema é que não dá para simplesmente ignorar, porque a força de uma especificação tem muito peso nas decisões, o risco de sair da especificação é o que deixou a comunidade java tão presa [presa fácil] ao EJB2.
Se foi tão difícil convencer que aquilo era uma desgraça, imagina dizer hoje que ignorem EJB e JPA e continuem utilizando Spring e Hibernate!
A força de seguir a manada para muitos ainda é mais forte do que sustentar o melhor.
|
http://www.milfont.org/tech/ |
|
|
 |
|
|