wake-up-neo.com

Warum ist die Kriterienabfrage in Ruhezustand 5 veraltet?

Wie wir bereits wissen, wird die Kriterienabfrage in Ruhezustand 5 nicht mehr empfohlen. Dies war eine nützliche Funktion in früheren Versionen von Hibernate. Und es funktioniert immer noch besser als HQL.

Was ist der Grund für die Ablehnung in Ruhezustand 5 ?

Und auch diese Frage ist kein Duplikat von diese Frage , da ich den Grund für die Nichtbeachtung der Kriterienabfrage wissen möchte.

Dies ist von hier.

Hibernate bietet eine ältere org.hibernate.Criteria - API, die als veraltet betrachtet werden sollte. Keine Funktionsentwicklung zielt auf diese APIs ab. Schließlich werden für den Ruhezustand spezifische Kriterienfunktionen als Erweiterungen in das JPA javax.persistence.criteria.CriteriaQuery Portiert. Ausführliche Informationen zur API org.hibernate.Criteria Finden Sie unter Abfragen der Kriterien für den Ruhezustand älterer Versionen.

25
Pritam Banerjee

Die Kriterien-API wird anstelle der Unterstützung für JPA-Erweiterungen nicht mehr empfohlen.

Bedenken Sie:

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

Im Gegensatz zu den Kommentaren beabsichtigen wir do, weiterhin Ruhezustands-spezifische Funktionen bereitzustellen, aber wir möchten diese über die Standard-API einführen, anstatt zu versuchen, zwei sehr unterschiedliche APIs zu verwalten, die komplementär sein sollen synchron.

12
Naros