Unterschied zwischen Abfrage, systemeigener Abfrage, benannter Abfrage und typisierter Abfrage
Was sind die Unterschiede zwischen einer Abfrage eine native Abfrage, die eine benannte Abfrage, und eine typisierte Abfrage? Funktioniert das "allein-stehend" - Abfrage noch vorhanden, oder ist es nur eine Abkürzung? In meinem Geist eine native Query ist eine Abfrage, geschrieben in einfachen sql, in der Erwägung, dass eine benannte Abfrage bezieht sich auf Entitäten (hibernate-mapping). Kann sich das jemand erklären kurz?
InformationsquelleAutor der Frage Chris311 | 2015-10-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Abfrage
Abfrage bezieht sich auf die JPQL/HQL-query mit einer ähnlichen syntax wie SQL im Allgemeinen verwendet zum ausführen von DML-Anweisungen(CRUD-Operationen).
In JPA, können Sie eine Abfrage erstellen mit
entityManager.createQuery()
. Sie können schauen Sie in API für mehr detail.In Hibernate verwenden Sie
session.createQuery()
"NativeQuery
Native Abfrage bezieht sich auf die eigentlichen sql-Abfragen (mit Bezugnahme auf die tatsächlichen Datenbank-Objekte). Diese Abfragen sind sql-Anweisungen können direkt ausgeführt werden in der Datenbank mit einem Datenbank-client.
JPA :
entityManager.createNativeQuery()
Im Ruhezustand (Nicht-JPA-Implementierung):
session.createSQLQuery()
NamedQuery
Ähnlich wie die, die die Konstante definiert ist. NamedQuery ist die Art, wie Sie Ihre Abfrage definieren, indem Sie ihm einen Namen. Definieren Sie diese in der mapping-Datei in den Ruhezustand oder auch unter Verwendung von Annotationen auf Ebene der Entitäten.
TypedQuery
TypedQuery gibt Ihnen eine option zu erwähnen, der Typ der Entität, wenn Sie eine Abfrage erstellen und somit jegliche Bedienung danach nicht eine explizite Typumwandlung in der vorgesehen Art. In der Erwägung, dass die normalen
Query
API nicht zurück, den genauen Typ des Objekts, den Sie erwarten und Sie müssen Stimmen.InformationsquelleAutor der Antwort Abhijith Nagarajan