mapeo english ejemplo java hibernate hibernate-criteria

java - english - ¿Por qué la consulta de criterios está en desuso en Hibernate 5?



hibernate java netbeans mysql (1)

Como ya sabemos, la consulta de criterios está en desuso en Hibernate 5 . Fue una característica tan útil en las versiones anteriores de Hibernate. Y todavía se desempeña mejor que HQL.

Entonces, ¿cuál es la razón de su desaprobación en Hibernate 5 ?

Y también esta pregunta no es un duplicado de esta pregunta, ya que quiero saber el motivo de la desaprobación de la consulta de criterios.

Esto es de here.

Hibernate ofrece una API más antigua y heredada de org.hibernate.Criteria que debe considerarse obsoleta. Ningún desarrollo de características apuntará a esas API. Finalmente, las características de los criterios específicos de Hibernate se transferirán como extensiones a la JPA javax.persistence.criteria.CriteriaQuery . Para obtener más información sobre la API org.hibernate.Criteria , consulte Consultas de criterios de hibernación heredadas.


Estamos en desuso de la API de criterios en lugar del soporte de extensión JPA.

Considera esto:

CriteriaBuilder cb = entityManager.getCriteriaBuilder(); HibernateCriteria hc = cb.unwrap( HibernateCriteria.class ); ... query.where( hc.someAwesomeThing( ... ) ); List<SomeEntity> entities = entityManager.createQuery( query ).getResultList();

Contrariamente a los comentarios, tenemos la intención de continuar ofreciendo características específicas de Hibernate, pero queremos introducirlas a través de la API estándar en lugar de tratar de administrar mantener dos API muy diferentes que deben ser complementarias en sincronización.