Detaillierte Erklärung der reinen SQL-Anweisungsmethode basierend auf JPQL

Detaillierte Erklärung der reinen SQL-Anweisungsmethode basierend auf JPQL

JPQL steht für Java Persistence Query Language.

Basierend auf der EJB Query Language (EJB QL), die erstmals in EJB 2.0 eingeführt wurde, ist die Java Persistence Query Language (JPQL) eine portable Abfragesprache, die SQL-Syntax und einfache Abfragesemantik in Form von objektorientierten Ausdruckssprachenausdrücken miteinander verbindet. In dieser Sprache geschriebene Abfragen sind portierbar und können auf allen gängigen Datenbankservern in SQL kompiliert werden.

Seine Funktionen ähneln denen nativer SQL-Anweisungen und sind vollständig objektorientiert. Der Zugriff erfolgt über Klassennamen und Attribute statt über Tabellennamen und Tabellenattribute.

Um JPQL zu verwenden, müssen Sie die SQL-Anweisung so ändern, dass sie der HQL-Anweisung ähnelt. SQL fragt die Datenbank ab, während JPQL Objekte und Attribute abfragt und die Syntax etwas anders ist. Für einige Abfragen, die nicht in JPQL geschrieben werden können, ist es bequemer, sie in nativem SQL zu schreiben.

Hier ist ein Beispiel. Beachten Sie den Unterschied in der Syntax:

JPQL-Abfrage

@PersistenceContext
geschützter EntityManager em;

öffentliche Liste<Video> findVideoList1() {
  String hql = "aus Video sortiert nach ID desc";
  Abfrage Abfrage = em.createQuery(hql);
  Liste<Video> Ergebnis = query.getResultList();
  em.klar();
  Ergebnis zurückgeben;
}

SQL-Abfrage

Abfrage der Daten der letzten 7 Tage

öffentliche Liste<Video> findVideoList2() {
  Liste<Video> Ergebnis = (Liste<Video>) em.createNativeQuery
    ("Wählen Sie * aus db_video, wobei date_sub (curdate (), Intervall 6 Tage) <= date (Datum) sortiert nach Datum desc", Video.Klasse)
    .getResultList();
  Ergebnis zurückgeben;
}

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • JPA verwendet JPQL-Anweisungen zum Hinzufügen, Löschen, Ändern und Abfragen
  • Detailliertes Installationstutorial zur dekomprimierten Version von mysql5.7.19 (mit rein geknackter chinesischer Version von SQLYog)
  • Einführung und Anwendungsbeispiele von CodernityDB, einer in reinem Python entwickelten NoSQL-Datenbank
  • Detaillierte Erklärung zum Importieren reiner IP-Daten in MySQL in 3 Schritten
  • Wunderschöne Flash-Diashow und SQL-Tag-Tutorial, geschrieben mit reinem CSS+DIV!
  • Unterschiede zwischen den SQL-Löschanweisungen DROP, TRUNCATE und DELETE
  • Die Mybatis-plus-Konfigurationskonsole druckt die vollständige SQL-Anweisung mit Parametern
  • Installieren Sie das MyBatis Log Plugin-Plugin in IDEA und führen Sie die mybatis-SQL-Anweisung aus (empfohlen)

<<:  Detaillierte Analyse des Linux-NFS-Mechanismus anhand von Fällen

>>:  Der Quellcode zeigt, warum Vue2 Daten und Methoden direkt abrufen kann

Artikel empfehlen

Reines HTML+CSS, um einen Element-Ladeeffekt zu erzielen

Dies ist der Effekt der Element-UI-Ladekomponente...

So verwenden Sie JS zum Implementieren des Wasserfalllayouts von Webseiten

Inhaltsverzeichnis Vorwort: Was ist ein Wasserfal...

UDP DUP-Timeout UPD-Portstatus-Erkennungscodebeispiel

Ich habe bereits zuvor ein Beispiel geschrieben, ...

js implementiert das Popup-Anmeldefeld durch Klicken auf das Popup-Fenster

In diesem Artikel wird der spezifische Code von j...

Detaillierte Beschreibung des Anwendungsszenarios für Javascript-Closure

Inhaltsverzeichnis 1. Abschluss 2. Szenarien für ...

Gemeinsame MySQL-Indexwirksamkeitsbedingungen und Indexungültigkeitsbedingungen

Inhaltsverzeichnis 1. Bedingungen für das Versage...

CSS zum Erzielen des Effekts einer rotierenden Flip-Card-Animation

Die CSS-Animation des rotierenden Flip-Effekts, d...

Zusammenfassung einiger gängiger Methoden des JavaScript-Arrays

Inhaltsverzeichnis 1. So erstellen Sie ein Array ...

Detailliertes Beispiel zum Ändern des Linux-Kontokennworts

Passwort des persönlichen Kontos ändern Wenn norm...

So konfigurieren Sie einen Pfadalias für das React-Scaffolding

Die React-Version beim Schreiben dieses Artikels ...

MySQL 5.7.18 MSI-Installations-Grafik-Tutorial

In diesem Artikel wird das MySQL 5.7.18 MSI-Insta...