Wie mein Titel beschrieben, verwende ich Ruhezustand Auto
Flush-Modus-Mechanismus in meiner Anwendung. Wenn ich also Daten in einem persistenten Hibernate-Objekt ändere, spiegelt es sich automatisch in der Datenbank wider. Ich will das nicht. Also habe ich eine Lösung gefunden, stattdessen FlushMode Commit
zu verwenden.Was zu verwenden Flush-Modus 'Auto' oder 'Commit'
So, hier ist meine eigentliche Frage:
- Ist es besser
Commit
Spülmodus stattAuto
zu benutzen? und Was bedeutet diese Aussage aus der Dokumentation?
Die Sitzung wird manchmal vor der Ausführung der Abfrage in der Reihenfolge geleert, um sicherzustellen, dass Abfragen den veralteten Status nie zurückgeben.
http://docs.jboss.org/hibernate/orm/3.5/javadoc/org/hibernate/FlushMode.html
Überprüfen Sie den Link http://www.cpe.ku.ac.th/~plw/oop/e_book/hibernate_in_action.pdf und blättern Sie zu Seite 5.1.3 Spülen der Sitzung. Prost., –
Was Sie suchen, ist Transaktionen. Sie sollten (im Allgemeinen) Transaktionen verwenden, um festzulegen, wann Dinge an die Datenbank übergeben werden, anstatt die Sitzung manuell zu leeren: https://community.jboss.org/wiki/SessionsAndTransactions?_sscc=t –