Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie wähle ich bestimmte Spalten in Hibernate-Kriterienabfragen aus?

Mary-Kate Olsen
Freigeben: 2024-10-26 08:29:30
Original
802 Leute haben es durchsucht

How Do I Select Specific Columns in Hibernate Criteria Queries?

Hibernate-Kriterienabfrage: Auswählen bestimmter Spalten

Bei der Hibernate-Kriterienabfrage besteht das Standardverhalten darin, alle Spalten aus der angegebenen Tabelle abzurufen. Es ist jedoch möglich, bestimmte Spalten zur Leistungsoptimierung aus den Abfrageergebnissen auszuschließen.

Projektionen für die Spaltenauswahl

Um eine Spalte aus den Abfrageergebnissen auszuschließen, können Projektionen verwendet werden verwendet werden. Mithilfe von Projektionen können Sie eine Liste von Eigenschaften angeben, die zurückgegeben werden sollen. Durch die explizite Auflistung der gewünschten Eigenschaften werden die verbleibenden Spalten ausgeschlossen.

Beispiel für eine Kriterienabfrage

Betrachten Sie die folgende SQL-Abfrage:

<code class="sql">SELECT user.id, user.name FROM user;</code>
Nach dem Login kopieren

Um das gleiche Ergebnis mit der Hibernate Criteria Query zu erzielen, kann man den folgenden Code verwenden:

<code class="java">CriteriaBuilder cb = session.getCriteriaBuilder();
CriteriaQuery<Tuple> cq = cb.createTupleQuery();
Root<User> root = cq.from(User.class);
cq.multiselect(root.get("id"), root.get("name"));</code>
Nach dem Login kopieren

In diesem Beispiel sind cb, cq und root Builder-Objekte, die die Abfrageerstellung erleichtern. Die multiselect()-Methode wird verwendet, um die zurückzugebenden Spalten anzugeben.

Verarbeitung von Projektionen in HQL

Das HQL-Äquivalent der obigen Kriterienabfrage wäre wie folgt:

<code class="hql">SELECT id, name FROM User</code>
Nach dem Login kopieren

Durch die Verwendung von Projektionen ist es möglich, Abfragen zu optimieren und die aus der Datenbank abgerufene Datenmenge zu reduzieren.

Das obige ist der detaillierte Inhalt vonWie wähle ich bestimmte Spalten in Hibernate-Kriterienabfragen aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage