Heim > Datenbank > MySQL-Tutorial > Wie entferne ich den Doppelpunkt „:' in JPA-Abfragen für MySQL?

Wie entferne ich den Doppelpunkt „:' in JPA-Abfragen für MySQL?

DDD
Freigeben: 2024-11-07 15:27:03
Original
319 Leute haben es durchsucht

How to Escape the Colon Character ':' in JPA Queries for MySQL?

Escapezeichen für den Doppelpunkt „:“ in JPA-Abfragen

Problembeschreibung

Ausführen einer nativen JPA-Abfrage mit MySQL Benutzervariable, die „:“ enthält, löst aufgrund einer ungültigen Syntax eine Ausnahme aus: Es ist nicht zulässig, „:“ mit einem Leerzeichen zu folgen.

Lösung

Um dieses Problem zu beheben, Sie müssen die Zeichen „:“ maskieren. Dies kann erreicht werden, indem ihnen ein Backslash '' vorangestellt wird.

Hier ist die korrigierte Abfrage:

SELECT foo, bar, baz, 
    @rownum:= if (@id = foo, @rownum+1, 1) as rownum, 
    @id    := foo                         as rep_id 
FROM 
    foo_table 
ORDER BY 
    foo, 
    bar desc 
Nach dem Login kopieren

Implementierung in JPA

Query q = getEntityManager().createNativeQuery(query, SomeClass.class);
return q.getResultList();
Nach dem Login kopieren

Hinweis:

Die bereitgestellte Lösung setzt eine MySQL-Datenbank voraus. Bei Verwendung anderer Datenbanken kann die Syntax für das Escapen von Sonderzeichen variieren. Daher ist es wichtig, die empfohlenen Escape-Methoden in der spezifischen Datenbankdokumentation zu finden.

Das obige ist der detaillierte Inhalt vonWie entferne ich den Doppelpunkt „:' in JPA-Abfragen für MySQL?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage