Heim > Fragen und Antworten > Hauptteil
Hallo zusammen, derzeit besteht die Notwendigkeit, die Summe zweier Spalten in der Tabelle zu ermitteln und die Ergebnisse dann zu sortieren. Die detaillierte Beschreibung lautet wie folgt:
Meine Tabelle enthält zwei Spalten: Gebühr a (pay_a) und Gebühr b (pay_b). Die aktuelle Anforderung besteht darin, die beiden zu addieren und zu summieren (wählen Sie (pay_a + pay_b) aus der Auszahlungstabelle). und dann werden die Ergebnisse sortiert (die Datenbank verwendet Oracle).
Das Framework, das ich verwende, ist Spring Data JPA. Bei der Verwendung von sort habe ich festgestellt, dass sort den Additionsausdruck nicht analysieren kann. Es gibt kein solches Mitglied in der Eingabeaufforderungstabelle.
Ändern Sie die Methode, deklarieren Sie mit @Transient ein neues Mitglied payall in der Entität (es gibt keine solche Spalte in der Datenbanktabelle) und definieren Sie getPayall()
{
return pay_a + pay_b;
}
Dann verwenden Sie beim Sortieren „payall“ zum Sortieren, und das Ergebnis ist ein Fehler. Es wird angezeigt:
Das Attribut mit dem angegebenen Namen [payall] konnte auf diesem ManagedType [io.koala.tobacco.dataservice.entity] nicht gefunden werden .PotentialCust]
Ich weiß jetzt nicht, wie ich damit umgehen soll. Bitte helfen Sie allen Experten! Danke schön!
某草草2017-05-27 17:43:27
@Query(value = "select new test.Account(a.price1 + a.price2) from Account a", nativeQuery = true)
Account testSum();
package test;
public class Account {
public Account(price1, price2) {
}
}
nativeQuery = true 使用原生的sql进行查询