Ich möchte hql Abfragen generieren, in denen sowohl die persistenten Objektvariablen als auch ihre Werte zur Laufzeit (zum Zweck der Aktualisierung einzelner Felder) ausgewählt werden können. Ie Etwas wie das Folgende :Sichere dynamische Bindung von Feldern in hql
String field, value;
String queryString = "update User u set u."+field+" = "+ value +" where (someCondition)"
Dieser Code funktioniert, ist aber nicht sicher gegen Hql-Injektion. dies mit der benannten Parameter Methode
Update user u set :field = :value where (someCondition)
wirft einen querySyntaxException zu tun versuchen:
"expecting IDENT, found ":";
Ich erhalte eine ähnliche Fehlerpositions Bindung mit einer Abfragezeichenfolge versucht "... u.?=? ..."