Assim, finalmente resolvi gastar alguns momentos do meu precioso tempo pra aprender JPA utilizando o Hibernate e eis que eu descubro uma coisa no mínimo bizarra.
A especificação não tem uma API equivalente a Criteria do Hibernate!
E o pior, os “líderes” da especificação acharam que a api de criteria é um requisito exótico e que não valia a pena ser adicionado na especificação.
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!
Pronto, agora é que eu não migro do Hibernate mas nem amarrado, porque eu é que não vou ficar fazerndo concatenação de Strings e fazendo binding de parâmetros porque algum i$%@ta achou que uma coisa básica como uma API de busca absolutamente orientada a objetos é um “requisito exótico” em uma ferramenta de mapeamento objeto relacional.
Desculpem o abuso e as palavras baixas, mas isso realmente foi demais pra mim. Desse jeito, EJB vai continua sendo só hype mesmo, porque até na hora de copiar o que presta os caras se perdem, nã…



