2016-12-17 1 views
6

Ich verwende die createSQL() Methode in Hibernate, um eine Einfügeoperation in meiner Datenbank durchzuführen.Hibernate 5.2.5.Final createSQLQuery() Methode veraltet

Was ich tun möchte, ist eine benutzerdefinierte SQL-Anweisung zu dekrratieren, so dass ich eine MD5() Funktion auf ein Feld in einer Tabelle anwenden kann. Deshalb kann ich nicht einfach die Methode save(Object) verwenden.

bekam ich eine Warnung von Eclipse-IDE, die sagt: The method createSQLQuery(String) from the type QueryProducer is deprecated.

Trotz diesem des Einsatzes Betrieb wie erwartet ausführt.

Die aktuelle Version von Hibernate, die ich für mein Projekt verwende, ist 5.2.5.Final.

So wäre die Frage: Gibt es einen anderen Weg, um das gleiche in dieser Version von Hibernate zu erreichen, um diese nervige Warnung loszuwerden?

Ich weiß auch hinzufügen @SuppressWarnings("deprecation") Annotation wird das Problem lösen, aber ich bin nicht ziemlich sicher, ob es irgendwelche Probleme in der Zukunft verursachen wird.

Es ist erwähnenswert, dass ich ein Anfänger mit diesem Framework bin.

Antwort

15

Die javadoc der veralteten QueryProducer.createSQL(String) beschreiben, was stattdessen verwenden:

Veraltet. (seit 5.2) verwenden Sie createNativeQuery(String) statt
Erstellen Sie eine NativeQuery Instanz für die angegebene SQL-Abfragezeichenfolge.

Hinzufügen Nur @SuppressWarnings("deprecation") ist in der Regel keine gute Idee, weil Sie Probleme in der Zukunft erhalten können; wenn Sie zu einer neueren Hibernate-Version wechseln, in der die nun veraltete Methode entfernt wurde.

Verwandte Themen