JPQL ou Criteria do JPA?

3 respostas
R

E aí, pessoal?

Só tenho uma dúvida e queria saber a opinião do pessoal mais experiente.

Quando for escolher entre JPQL ou Criteria do JPA… em quais casos devo escolher qual?

Sempre criteria? usar JPQL é seguro? é uma boa prática?

qual é mais seguro?

Só queria saber as opiniões do pessoal mesmo, com exemplos e motivos concretos se puderem.

Obrigado :slight_smile:

3 Respostas

H

Criteria eu só aconselho se você for utilizar Hibernate puro.

A Criteria do JPA é muito ruim, muito verbosa, difícil de entender.

JPQL é quase que select normal mesmo. Eu geralmente utilizo junto com NamedQuery. [=

G

jakefrog:
A Criteria do JPA é muito ruim, muito verbosa, difícil de entender.

Quando vi o tópico isso foi a primeira coisa que me veio na cabeça. Criteria no JPA é realmente muito zuado, a do Hibernate dá de 10 a 0.

Agora voltando ao assunto
Um cenario adequado para usar Criteria é quando se tem queries dinamicas, que adicionam filtros, ordenaçoes, etc dependendo de valores de parametro. Aí é melhor ir construindo com Criteria do que montar o jpql concatenando Strings *

R

É eu percebi isso também ao começar a procurar material sobre ela.
Eu comecei a brincar um pouco com ela… vi os MetaModels, e tudo mais… parece POG, mas eu entendi a utilização e em parte achei bacana hehehe

o que eu vi sobre o Criteria é que ele te guarda de erros de sintaxe, mas aí também vai da atenção do desenvolvedor…

Também prefiro a do Hibernate.

Entendi, um colega meu disse que pra coisas simples é preferível mesmo usar JPQL, mas uma dúvida que eu tenho é a seguinte:

é somente pra tornar o código mais legível, ou existe uma diferença em performance?

hahahaha… sensacional esse wiki hein!

outra coisa… alguém sabe me dizer se existe algo que se possa fazer em Criteria que não seja possível fazer com JPQL?

Criado 27 de março de 2012
Ultima resposta 28 de mar. de 2012
Respostas 3
Participantes 3