2017-10-01 2 views
1

In JPA, wie die unter DB2 Abfrage schreibenJPA - Max von VARCHAR Spalte DB2

SELECT MAX(CAST(ABC_COLUMN AS INT)) FROM ABC_TABLE 

Wie dies in einer benannten Abfrage schreiben? Wenn ich schreibe dies in der unten Stück Code als

@NamedQuery(name="getMaxValue", query="SELECT MAX(CAST(ABC_COLUMN AS INT)) FROM ABC_TABLE") 

Diese Aussage zeigt Kompilierungsfehler als CAST nicht in der FROM-Klausel definiert ist.

Wie überwinde ich das?

+2

NamedQuery erwartet JPQL, nicht SQL verwenden. JPQL eine andere Sprache. Es spielt keine Verwenden Sie keine Tabellen und Spalten, sondern Entities und deren Eigenschaften. Lernen Sie JPQL, oder verwenden Sie SQL, aber machen Sie dies zu einem NamedNativeQuery. –

Antwort

0

Wie @JB Nizet zeigte, Sobald Sie sich für herstellerspezifische DB-Funktionen (wie CAST in Ihrem Beispiel gehen, werden Sie nativen Abfragen

+0

Nein, ich sage das nicht. CAST ist nicht herstellerspezifisch, und HQL unterstützt CAST. –

+0

danke sein Arbeit ja – Meedo

Verwandte Themen