Frage

Ich habe entdeckt, ParseName Funktion als eine gute Wahl IP-Adresse in der Datenbank gespeichert ist, um zu bestellen. hier gibt es ein Beispiel.
Mein Problem ist, ich bin mit Hibernate mit benannten Abfragen in einer XML-Mapping-Datei und ich versuche, die Verwendung von

zu vermeiden
session.createSQLQuery(..) 

Funktion.
Ich frage mich, ob jede ParseName äquivalente Funktion für HQL-Abfragen existiert. Ich bin für sie suchen und kann nichts finden.
Vielen Dank.

War es hilfreich?

Lösung

Ich habe nichts im Zusammenhang finden.
Schließlich ich die folgende Klausel ORDER BY ausgeführt, um die IP-Adressen in numerischer Art und Weise, um zu bestellen (fand ich die Lösung hier ):

order by cast(substring(host.ip, 1, locate('.', host.ip) - 1) as integer),
                 cast(substring(host.ip, locate('.', host.ip) + 1, locate('.', host.ip, locate('.', host.ip) + 1) - locate('.', host.ip) - 1) as integer),
                 cast(substring(host.ip, locate('.', host.ip, locate('.', host.ip) + 1) + 1, locate('.', host.ip, locate('.', host.ip, locate('.', host.ip) + 1) + 1) - locate('.', host.ip, locate('.', host.ip) +  1) - 1) as integer),
                 cast(substring(host.ip, locate('.', host.ip, locate('.', host.ip, locate('.', host.ip) + 1) + 1) + 1, 3) as integer)    

Andere Tipps

Unterklasse Ihr Dialekt und benutzen RegisterFunction() ParseName zur Verfügung HQL-Abfragen zu machen. RegisterFunction ist nicht sehr gut dokumentiert, aber es gibt viele Beispiele im Web . Ich bin mir nicht sicher, dass Sie es zu verwenden können, Ergebnisse though.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top