Spring - Transaktion schreibgeschützt
Just wollte Ihre Expertenmeinung zum deklarativen Transaktionsmanagement für Spring. Hier ist mein Setup:
DAO-Layer ist normales altes JDBC mit Spring JdbcTemplate (kein Ruhezustand usw.)Service Layer ist POJO mit deklarativen Transaktionen wie folgt -save*, readonly = false, rollback for Throwable
Things funktionieren gut mit dem obigen Setup. Wenn ich jedoch @ saget*, readonly = true
, Ich sehe Fehler in meiner Protokolldatei, in denen @ stehDatabase connection cannot be marked as readonly
. Dies geschieht für alle get * -Methoden in der Service-Schicht.
Jetzt sind meine Fragen:
EIN. Muss ich @ setzget*
als readonly? Alle meineget*
-Methoden sind reine Lese-DB-Operationen. Ich möchte sie in keinem Transaktionskontext ausführen. Wie ernst ist der obige Fehler?
B. Wenn ich das @ entferget*
Konfiguration sehe ich die Fehler nicht. Mehr noch, mein ganz einfachesget*
-Operationen werden ohne Transaktionen ausgeführt. Ist das der richtige Weg?
C. Warum sollte jemand Transaktionsmethoden haben wollen, bei denenreadonly = true
? Hat diese Konfiguration eine praktische Bedeutung?
Vielen Dank! Wie immer sind Ihre Antworten sehr willkommen!