1
resposta

Api de Critéria do JPA é Sofrência

essa critéria do JPA é horrível, a citéria do hibernate era bem mais bacana mas foi depreciada, o projeto Apache Delta Spike tem uma funcionalidade de Criteria que é super legível e bem que o pessoal da especificação poderia tornar a critéria do Delta Spike como especificação. Um recurso bem bacana são as Specifications que não sei se é do JPA mesmo ou se é coisa do SpringData mas me parece que tem o mesmo comportamento da JPA de carregar a entidade interira, e não dá pra selecionar apenas algun campos, se não me engano. Temos também os EntityGraphs mas parece que esse último não caiu muito na graça do povo

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Olá Ricardo,

Entendo sua frustração com a API de Critéria do JPA. Realmente, pode ser um pouco complicado de utilizar e entender. No entanto, é importante lembrar que o JPA é uma especificação e, portanto, cada implementação pode ter suas particularidades.

Sobre as Specifications, elas são uma funcionalidade do Spring Data, que é uma camada de abstração em cima do JPA. Com ela, é possível criar consultas mais complexas de forma mais legível e fácil de manter. É possível selecionar apenas alguns campos utilizando a projeção, por exemplo.

Já os EntityGraphs são uma funcionalidade do próprio JPA e permitem definir quais associações devem ser carregadas junto com a entidade principal, evitando assim o problema de carregar a entidade inteira desnecessariamente.

Espero ter ajudado e bons estudos!