Heim > Datenbank > MySQL-Tutorial > Wie verwende ich den Zuweisungsoperator (:=) von MySQL in nativen Hibernate-Abfragen?

Wie verwende ich den Zuweisungsoperator (:=) von MySQL in nativen Hibernate-Abfragen?

Patricia Arquette
Freigeben: 2024-11-03 00:36:29
Original
701 Leute haben es durchsucht

How to Use MySQL's Assignment Operator (:=) in Hibernate Native Queries?

Verwendung des MySQL-Zuweisungsoperators (=:) in nativen Hibernate-Abfragen

Bei der Arbeit mit nativen MySQL-Abfragen in Hibernate ist häufig die Nutzung von Subselect-Anweisungen erforderlich. Wenn Sie jedoch den MySQL-Zuweisungsoperator (:=) in diesen Abfragen verwenden, kann es zu der Ausnahme „Leerzeichen ist nach dem Parameterpräfix ‚:‘ nicht zulässig“ kommen.

Dieses Problem ist auf die Beschränkung von Leerzeichen in Hibernate danach zurückzuführen Parameterpräfixe. Für diesen speziellen Fall gibt es jedoch eine Lösung.

Fix für HHH-2697

In Hibernate-Versionen vor 4.1.3 gab es keine Problemumgehung für dieses Problem. Der Fehler HHH-2697 wurde jedoch in späteren Versionen behoben.

Für Hibernate 4.1.3 und höher können Sie den Zuweisungsoperator mit einem Backslash () maskieren. Auf diese Weise können Sie die folgende modifizierte Abfrage verwenden:

<code class="sql">SELECT k.`news_master_id` AS id, @row \:= @row + 1 AS rownum 
FROM keyword_news_list k 
JOIN (SELECT @row \:= 0) r 
WHERE k.`keyword_news_id` = :kid
ORDER BY k.`news_master_id` ASC</code>
Nach dem Login kopieren

Mit dieser Escape-Syntax können Sie den Zuweisungsoperator in Ihren nativen Abfragen verwenden, ohne dass die oben genannte Ausnahme auftritt.

Das obige ist der detaillierte Inhalt vonWie verwende ich den Zuweisungsoperator (:=) von MySQL in nativen Hibernate-Abfragen?. 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