Criteria y HQL. Algunas diferencias

Algunas veces nos preguntamos las principales diferencias entre Criteria y HQL en Hibernate.

Aqui las mas importantes:

  • HQL lleva a cabo operaciones de tipo SELECT y NO-SELECT,  pero Criteria solamente trabaja con selección de datos, no podemos ejecutar consultas NO-SELECT en Criteria.
  • HQL es adecuado para ejecutar consultas estáticas, de lo cual Criteria es adecuado para consultas dinámicas.
  • HQL no soporta el concepto de paginación, pero Criteria los soporta directamente.
  • Criteria toma mas tiempo en ejecutar los procesos de consulta que HQL
  • Con Criteria estamos libres de SQL Injection porque genera querys dinámicas Pero en HQL con parámetros fijos podemos ser víctimas de SQL Injection.
Anuncios