Ich habe eine Karte, die ich persistieren möchte. Das Domänenobjekt sieht ungefähr so aus:
public class Settings {
private String key;
private String value;
public String getKey() { ... }
public String getValue() { ... }
public void setKey(String key) { ... }
public void setValue(String value) { ... }
}
Der Standardansatz besteht darin, für jedes Paar ein Setting
zu generieren und es mit saveOrUpdate()
zu speichern. Aber das führt zu viel zu vielen Abfragen, da ich viele Einstellungen gleichzeitig speichern muss, und es beeinträchtigt die Leistung erheblich. Gibt es eine Möglichkeit, dies mit einer einzigen Update-Abfrage zu tun?
UPD: Okay, vielleicht gibt es eine hql-Syntax zum Aktualisieren von mehreren Zeilen? Etwas wie
update Settings s1 set s1.value = :value1 where s1.key = :key1
s2 set s2.value = :value2 where s2.key = :key2