Inhaltsverzeichnis
Dept.java
employee.java
CountEmployees.java
Heim Java javaLernprogramm Wie kann ich die Ergebnisse einer JPA-Abfrage mithilfe von Aggregatfunktionen anpassen?

Wie kann ich die Ergebnisse einer JPA-Abfrage mithilfe von Aggregatfunktionen anpassen?

Sep 18, 2023 pm 04:49 PM
自定义 聚合函数 JPA-Abfrage

Wie kann ich die Ergebnisse einer JPA-Abfrage mithilfe von Aggregatfunktionen anpassen?

Wenn wir JPA-Abfragen verwenden, werden die erhaltenen Ergebnisse meistens Objekten/spezifischen Datentypen zugeordnet. Wenn wir jedoch Aggregatfunktionen in Abfragen verwenden, erfordert die Verarbeitung der Ergebnisse manchmal, dass wir die JPA-Abfrage anpassen.

Lassen Sie uns (Abteilung, Mitarbeiter) anhand eines Beispiels verstehen −

Dept.java

@Entity
public class Dept {
   @Id
   private Long id;
   private String name;
   @OneToMany(mappedBy = "dep")
   private List<Employee> emp;
   //Getters
   //Setters
}
Nach dem Login kopieren

Eine Abteilung kann einen oder mehrere Mitarbeiter haben, aber ein Mitarbeiter kann nur einer Abteilung angehören.

employee.java

@Entity
public class Employee {
   @Id
   private Long id;
   private Integer joiningyear;
   @ManyToOne
   private Dept dep;
   
   //Getters
   //Setters
}
Nach dem Login kopieren

Wenn wir nun das Beitrittsdatum und die Anzahl der nach Beitrittsdatum gruppierten Mitarbeiter erhalten möchten,

@Repository
public interface EmployeeRepository extends JpaRepository<Employee, Long> {
   // query methods
   @Query("SELECT e.joiningyear, COUNT(e.joiningyear) FROM Employee AS e GROUP BY e.joiningyear")
   List<Object[]> countEmployeesByJoiningYear();
}
Nach dem Login kopieren

Die obige Abfrage funktioniert einwandfrei, aber das Speichern von Werten in der Form List kann zu Fehlern führen. Stattdessen können wir die JPA-Abfrage anpassen, um die Ergebnisse der obigen Abfrage einer Java-Klasse zuzuordnen. Diese Java-Klasse ist nur ein einfaches POJO (Plain Old Java Object) und muss nicht mit @Entity annotiert werden.

Die chinesische Übersetzung von

CountEmployees.java

lautet:

CountEmployees.java

package com.tutorialspoint;
public class CountEmployees {
   private Integer joinyear;
   private Long totalEmp;
   
   public CountEmployees(Integer joinyear, Long totalEmp) {
      this.joinyear = joinyear;
      this.totalEmp = totalEmp;
   }
   //Getters
   //Setters
}
Nach dem Login kopieren

Jetzt können wir unsere JPA-Abfrage wie unten gezeigt anpassen −

@Query("SELECT new com.tutorialspoint.CountEmployees(e.joiningyear, COUNT(e.joiningyear)) " + "FROM Employee AS e GROUP BY e.joiningyear")
List<CountEmployees> countEmployeesByJoining();
Nach dem Login kopieren

Die Ergebnisse der obigen Auswahlabfrage werden der CountEmployees-Klasse zugeordnet. Auf diese Weise können wir JPA-Abfragen anpassen und die Ergebnisse Java-Klassen zuordnen.

Das obige ist der detaillierte Inhalt vonWie kann ich die Ergebnisse einer JPA-Abfrage mithilfe von Aggregatfunktionen anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Der Unterschied zwischen Summe und Anzahl in Oracle Der Unterschied zwischen Summe und Anzahl in Oracle May 02, 2024 pm 11:09 PM

SUM wird in Oracle verwendet, um die Summe der Nicht-Null-Werte zu berechnen, während COUNT die Anzahl der Nicht-Null-Werte aller Datentypen zählt, einschließlich doppelter Werte.

Was bedeutet „Gruppieren nach' in SQL? Was bedeutet „Gruppieren nach' in SQL? Apr 29, 2024 pm 02:48 PM

GROUP BY ist eine Aggregatfunktion in SQL, die zum Gruppieren von Daten basierend auf angegebenen Spalten und zum Durchführen von Aggregationsvorgängen verwendet wird. Es ermöglicht Benutzern: Datenzeilen basierend auf bestimmten Spaltenwerten zu gruppieren. Wenden Sie auf jede Gruppe eine Aggregatfunktion (z. B. Summe, Anzahl, Durchschnitt) an. Erstellen Sie aussagekräftige Zusammenfassungen aus großen Datensätzen, führen Sie Datenaggregation und -gruppierung durch.

So verwenden Sie die Zählfunktion in Oracle So verwenden Sie die Zählfunktion in Oracle Apr 30, 2024 am 07:39 AM

Die COUNT-Funktion in Oracle wird verwendet, um Nicht-Null-Werte in einer bestimmten Spalte oder einem bestimmten Ausdruck zu zählen. Die Syntax ist COUNT(DISTINCT <column_name>) oder COUNT(*), die die Anzahl der eindeutigen Werte und aller Nicht-Werte zählt -null-Werte bzw.

So verwenden Sie avg in MySQL So verwenden Sie avg in MySQL May 01, 2024 pm 09:16 PM

Die AVG()-Funktion von MySQL wird verwendet, um den Durchschnitt numerischer Werte zu berechnen. Es unterstützt eine Vielzahl von Verwendungsmöglichkeiten, darunter: Berechnen Sie die durchschnittliche Menge aller verkauften Produkte: SELECT AVG(quantity_sold) FROM sales; Berechnen Sie den durchschnittlichen Preis: AVG(price); Berechnen Sie das durchschnittliche Verkaufsvolumen: AVG(quantity_sold * price). Die Funktion AVG() ignoriert NULL-Werte. Verwenden Sie IFNULL(), um den Durchschnitt der Nicht-Null-Werte zu berechnen.

So verwenden Sie die Summenfunktion in SQL So verwenden Sie die Summenfunktion in SQL May 02, 2024 am 12:01 AM

Die Funktion SUM() in SQL wird verwendet, um die Summe numerischer Spalten zu berechnen. Es kann Summen basierend auf angegebenen Spalten, Filtern, Aliasen, Gruppierung und Aggregation mehrerer Spalten berechnen, verarbeitet jedoch nur numerische Werte und ignoriert NULL-Werte.

So schreiben Sie eine Gruppierungsfunktion in MySQL So schreiben Sie eine Gruppierungsfunktion in MySQL Apr 29, 2024 am 04:30 AM

Die Gruppierungsfunktion in MySQL wird verwendet, um Aggregatwerte durch Gruppieren eines Datensatzes zu berechnen. Häufig verwendete Funktionen sind: SUM: Berechnen Sie die Summe der Werte in der angegebenen Spalte. COUNT: Berechnen Sie die Anzahl der Nicht-NULL-Werte in der angegebenen Spalte. AVG: Berechnen Sie den Durchschnittswert der Werte in der angegebenen Spalte MIN: Berechnen Sie den Mindestwert in der angegebenen Spalte. MAX: Berechnen Sie die Anzahl der Nicht-NULL-Werte in der angegebenen Spalte

Wie die Summe in SQL berechnet wird Wie die Summe in SQL berechnet wird May 09, 2024 am 09:27 AM

Die SQL-SUM-Funktion berechnet die Summe einer Reihe von Zahlen, indem sie diese addiert. Der Operationsprozess umfasst: 1. Identifizieren des Eingabewerts; 2. Schleifen des Eingabewerts und Konvertieren desselben in eine Zahl; 3. Addieren jeder Zahl, um eine Summe zu bilden; 4. Zurückgeben des Summenergebnisses;

Was sind die Aggregatfunktionen in SQL? Was sind die Aggregatfunktionen in SQL? May 02, 2024 am 01:12 AM

Aggregatfunktionen in SQL werden verwendet, um einen einzelnen Wert für eine Reihe von Zeilen zu berechnen und zurückzugeben. Zu den gängigen Aggregationsfunktionen gehören: Numerische Aggregationsfunktionen: COUNT(), SUM(), AVG(), MIN(), MAX() Zeilensatz-Aggregationsfunktionen: GROUP_CONCAT(), FIRST(), LAST() Statistische Aggregationsfunktionen: STDDEV ( ), VARIANCE() optionale Aggregatfunktionen: COUNT(DISTINCT), TOP(N)

See all articles