2016-06-24 3 views
0

Ich habe eine Domain-Klasse Lehrer, der viele Studenten hat.Grails Hibernate Persistent Set: wie nicht automatisch speichern

Als ich

Teacher.students.each{it-> 
     it.lastupdated=date; 
} 

Die Eigenschaft für die Schüler verwenden wird automatisch in die Datenbank beibehalten (und scheinbar sofort).

Gibt es eine Möglichkeit, dieses Verhalten zu verhindern, und die Werte sind vorübergehend, bis ich sie explizit speichern?

Antwort

1

Einfach mit it.discard(), um die automatische Speicherung zu vermeiden. Überprüfen Sie die Grails-Dokumentation here.

Eine andere Lösung, die für Ihre Grails-Version kann nicht funktionieren, dann ist dies auf der Konfigurationsdatei hinzuzufügen:

hibernate { 
    flush.mode='manual' 
} 
+0

dann mit save() wird manuell die neuen Werte bestehen bleiben? Oder wird es diese noch verwerfen? – user2782001

+0

Gemäß der Grails-Dokumentation löscht 'discard()' nur die automatische Speicherung. Wenn Sie 'save()' manuell aufrufen, werden Ihre Änderungen übernommen. – Joch

Verwandte Themen