¿Existe una heurística/mejores prácticas/conjunto de reglas para una decisión entre API de criterios y NamedQuery?JPA Nombrado Consultas vs Criterios API?
Mis pensamientos hasta el momento:
Las consultas con nombre son generalmente más legibles. Las consultas de criterios son más flexibles.
Ambos están precompilados. Tiendo a confiar en el uso de consultas con nombre el mayor tiempo posible, y luego a los criterios.
Pero tal vez el impulso de "flexibilizar" la consulta mediante el uso de la API de criterios es una pista para el diseño subóptimo (es decir, la separación de las preocupaciones)?
Gracias
Estoy de acuerdo. ¡Buena respuesta! – Robin
Me gusta usar solo Criteria. Combina la API de Criteria con un metamodelo de la entidad y puedes abandonar completamente el uso de String y producir un código fuerte, para un geek de Java que es realmente divertido. Sin embargo, encontré la prueba [this] (http://milestonenext.blogspot.se/2013/02/jpql-vs-criteria.html) que en realidad muestra que los Criterios tienen un rendimiento incluso peor que el de JPQL. –
Técnicamente, esa prueba de rendimiento no utilizó el Metamodelo generado que es la mejor parte sobre la API de criterios de JPA. Al principio tuve una gran dificultad al cambiar de Hibernate Criteria a JPA, pero ahora realmente prefiero el JPA. – Yinzara