Gibt es eine einfache Möglichkeit, Kriterien zu HQL-Format konvertieren?
-
23-08-2019 - |
Frage
Ich habe eine Frage paar Tagen gepostet vor etwa Abfragen auf Sammlungen mit den Kriterien API und nach all den Antworten, die ich sehe, dass das, was ich mit den Kriterien versuchen nicht möglich ist, ist es ein Fehler für die Situation in nhibernate und auch in Hibernate
Ich war mit DetachedCriteria, um alle Kriterien zusammen und die Liste ist wirklich lang. Der letzte Kreis der Kette ist Kriterien Buggy so dass ich alle meine DetachedCriteria zu HQL ändern müssen.
Also meine Frage ist, ist es ein Werkzeug oder Weg Kriterien zu HQL konvertieren.
oder
Gibt es eine Möglichkeit Kriterien zu bekommen und HQL zusammenarbeiten?
Lösung 2
Ich habe geschickt, sagte eine E-Mail an Ayende Rahien über das Thema und danken ihm für replying.He dass
ist die Antwort, dass es kein solches Werkzeug ist, aber Umwandlung ist in der Regel recht einfach.
Andere Tipps
von den Hibernate-Foren reposting ... nicht sicher, ob es zu nhibernate relevant ist oder auf dem neuesten Stand
aus: max Hibernate Team
Verfasst am: 24. Dezember 2006 07.12 Uhr
es ist eine sehr hartnäckige Folklore, dass die Kriterien zu HQL übersetzt. Kriterien direkt an SQL geht, aber es gibt keine direkte öffentliche api es programmatisch zu erhalten.
...
übersetzt zweimal ist nicht sehr effizient;)
Ich habe die Hibernate Criteria API geändert JPQL Abfragen zu generieren, indem Sie versuchen, die Schnittstelle meist ähnlich zu bewahren. Name meines Projekts ist Criteria2JPQL an:
https://sourceforge.net/projects/criteria2jpql/
Da diese Übersetzung ein einfacher In-Memory ist der Betrieb, die eine Standard JPQL Abfrage generiert, ist es nicht ein erhebliches Performance-Problem. Auf der anderen Seite hat sich die Idee dieses Projekts von den schlecht abschneidenden nativen SQL-Abfragen von Hibernate Kriterium einschließlich Lose entstanden unnötige verbindet. Wir haben mit Criteria2JPQL in unserem Projekt in meinem Unternehmen erlebt und beobachtet diese unnötigen verschwunden Joins.
Welche Version von nHibernate verwenden Sie? Ich denke, dass die neueste Version verwenden könnte Ihr Problem zu lösen, wie die 2.0 GA viele wichtige Änderungen hat.