2016-04-29 11 views
3

Mein Team verwendet die Hibernate-Kriterien-API lange Zeit unter Hibernate 3.x. Vor kurzem wollten wir die Hibernate-Version auf 5 aktualisieren, aber die Criteria-API schien nicht mehr zu empfehlen. Aber JPA sieht wie eine völlig andere API aus, die wir nicht riskieren wollen. Sollten wir weiterhin die alten Kriterien verwenden?Wird die Legacy-Kriterien-API weiterhin empfohlen?

Antwort

3

Nun, die Warnung in der Version 5.0 Criteria Chapter ist verflixt groß:

Hibernate bietet eine ältere Legacy-org.hibernate.Criteria API, die als veraltet betrachtet werden sollten. Keine Feature-Entwicklung zielt auf diese APIs ab. Schließlich werden Hibernate-spezifische Kriterienfunktionen als Erweiterungen der JPA-Datei javax.persistence.criteria.CriteriaQuery portiert. Weitere Informationen zur API "org.hibernate.Criteria" finden Sie unter Abfragekriterien für ältere Hibernate-Kriterien.

Und es gibt noch mehr:

Nutzer der älteren Hibernate org.hibernate.Criteria Abfrage API wird der allgemeine Ansatz erkennen, wenn wir die JPA API glauben, überlegen zu sein, da es eine saubere Optik stellt auf die Lehren aus dieser API.

Es scheint also, dass es wirklich an Ihrem Team liegt. Es hat eine Weile gedauert, bis ich mich an die JPA API gewöhnt habe, aber jetzt ist es ziemlich flüssig. Ich bin in Hibernate für die Leistung für sehr große Abrufe zurückgegangen, aber im Allgemeinen habe ich kein Problem mit etwas JPA. Ich neige dazu, @NamedQueries für Basisaccess und die Criteria API zu verwenden, wenn ich etwas dynamischeres brauche.

EDIT: Update konnte ich das Leistungsproblem lösen und die Anwendung ist jetzt streng JPA.

0

Wenn Sie Ihren Code aus Zeitgründen/Projektterminen/anderen Risiken nicht von der alten Hibernate Criteria-API in die JPA-API verschieben können, sollten Sie zumindest eine Art Zeitleiste festlegen, um darauf zurückzugreifen . Hibernate wird höchstwahrscheinlich die veraltete Criteria-API innerhalb der nächsten 2 Hauptversionen vollständig löschen.

Verwandte Themen