Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
de:modul:ffit:3-jahr:java:learningunits:lu10:c [2025/11/10 02:08] – angelegt apeterde:modul:ffit:3-jahr:java:learningunits:lu10:c [2025/11/11 02:26] (aktuell) apeter
Zeile 1: Zeile 1:
 ====== LU10c - Transaktionen ====== ====== LU10c - Transaktionen ======
  
-TODO: Erklärung zu ''@Transactional'' (Bei jeder RuntimeException)+Bei Fehler innerhalb von gesammelten Änderungen macht es in der Regel Sinn die bereits gemachten Änderungen wieder rückgängig zu machen. Dies geschieht bei SQL mittels Transactions. 
 + 
 +<code sql> 
 +BEGIN TRANSACTION; 
 + 
 +UPDATE Persons 
 +SET Balance = Balance - 100 
 +WHERE PersonId = 'A'
 + 
 +UPDATE Persons 
 +SET Balance = Balance + 100 
 +WHERE PersonId = 'B'
 + 
 +COMMIT; 
 +</code> 
 + 
 +Bei ''COMMIT;'' werden die gemachten Änderungen tatsächlich auf die Datenbank geschrieben, bei ''ROLLBACK;'' werden die Änderungen zurückgesetzt. 
 + 
 +Bei SpringBoot gibt es dazu die Annotation ''org.springframework.transaction.annotation.Transactional''. Hat eine Methode diese Annotation und es passiert eine ''java.lang.RuntimeException'' während der Ausführung, wird automatisch ein Rollback aller SQL-Statements seit Beginn der Methode gemacht.
  
 ==== Logging ==== ==== Logging ====
Zeile 10: Zeile 28:
 for (AccountUpdate update : accounts) { for (AccountUpdate update : accounts) {
     ...     ...
-    log.debug("Prepared account update: number={} project={}", accountNumber, projectRef.getProjectName());+    log.debug("Prepared account update: number={} project={}", accountNumber, projectName);
 } }
 log.info("All accounts updates processed successfully for project {}", projectName); log.info("All accounts updates processed successfully for project {}", projectName);
 </code>  </code> 
  
  • de/modul/ffit/3-jahr/java/learningunits/lu10/c.1762736889.txt.gz
  • Zuletzt geändert: 2025/11/10 02:08
  • von apeter