[JAVA] Wenn @Transactional of Spring Boot nicht funktioniert

Ich verwende Spring Boot und muss jetzt Transaktionen verwalten, wenn ich mich bei der DB registriere.

Wenn Sie einer öffentlichen Methode eine @ Transactional-Annotation hinzufügen und eine Ausnahme auslösen, wird diese anscheinend automatisch zurückgesetzt.

Deshalb habe ich es versucht, aber es hat überhaupt nicht funktioniert. Ich habe versucht, die Einstellungen für die Anmerkungen zu ändern, aber sie wurden überhaupt nicht zurückgesetzt.

Nachdem ich zwei oder drei Stunden gekämpft hatte und im Internet durch das Meer gekrochen war, sah ich einen göttlichen Leuchtturm.

https://ameblo.jp/kochablo/entry-11578714824.html

Gott

Es funktionierte mit einem einzigen Schlag. Danke an den Pionierbruder. Vielen Dank.

Ich fragte mich jedoch, wie es war, es direkt zu nennen. Ich möchte jemandem helfen, der wie ein Pionierbruder in Schwierigkeiten ist, und ich werde es im Folgenden ausführlich erläutern.

Schlechtes Beispiel: no_good:

SampleController.java


class SampleController{
  @Autowired
  private SampleService sampleService;

  public String sample(){
    sampleService.transactionalInsert();
    return "sampleView";
  }
}

SampleService.java


class SampleService{

  public void transactionalInsert(){
    doInsert();
  }

  @Transactional
  public void doInsert(){
    //Irgendwie Verarbeitung wie Insert to DB
    //Verarbeitung zum Auslösen von RuntimeExeption, wenn dies nicht funktioniert
  }
}

Dies sollte nicht der Fall sein.

Gutes Beispiel: ok_woman:

SampleController.java


class SampleController{
  @Autowired
  private SampleService sampleService;

  public String sample(){
    sampleService.doInsert();
    return "sampleView";
  }
}

SampleService.java


class SampleService{

  public void transactionalInsert(){
    doInsert();
  }

  @Transactional
  public void doInsert(){
    //Irgendwie Verarbeitung wie Insert to DB
    //Verarbeitung zum Auslösen von RuntimeExeption, wenn dies nicht funktioniert
  }
}

Hast du verstanden? Wie auch immer, wenn Sie die @ Transactional-Methode aus der @ Autowired-Klasse aufrufen, ist das verrückt.

Recommended Posts

Wenn @Transactional of Spring Boot nicht funktioniert
Memorandum beim Spring Boot 1.5.10 → Spring Boot 2.0.0
@BeforeStep funktioniert nicht mit Spring-Batch-Tasklet
Wenn das Formular wie "Auswählen von Materialisieren" nicht ordnungsgemäß funktioniert
[Ruby on Rails] Wenn die ID-Erfassung des Parameters nicht gut lief
Nachricht erlöschen (Spring Boot)
Feder sollte vermutet werden, wenn Rails-Befehle nicht richtig funktionieren
Unbekannter Fehler in Zeile 1 von pom.xml bei Verwendung von Spring Boot in Eclipse
Wenn Sie "Spring Boot" satt haben, probieren Sie doch "jooby".
Der Java Integer-Vergleich (==) funktioniert nicht richtig
Die Änderung der Breite der Eclipse-Registerkarte funktioniert nicht.
Die Geschichte des Übergangs von Spring Boot 1.5 zu 2.1
Änderungen bei der Migration von Spring Boot 1.5 auf Spring Boot 2.0
Simulator funktioniert nicht: Gerät kann aufgrund unzureichender Systemressourcen nicht gestartet werden
WebMvcConfigurer-Memorandum von Spring Boot 2.0 (Spring 5)
Änderungen bei der Migration von Spring Boot 2.0 zu Spring Boot 2.2
Javaw.exe Fehler beim Starten von Spring Boot (STS)
[NetBeans] Story, wenn sie nicht gestartet wird
So funktioniert @Transactional, das nicht funktioniert, wenn Sie es falsch verwenden
Ressourcenhandler-Einstellungen bei der Bereitstellung von SPA mit der statischen Ressourcenfunktion von Spring Boot
Uri Components Builder codiert je nach Version der Feder nicht "+"
Zusammenfassung dessen, was ich über Spring Boot gelernt habe
[FCM] Implementierung der Nachrichtenübertragung mit FCM + Spring Boot
Die Geschichte der Erhöhung der Spring Boot 1.5-Serie auf die 2.1-Serie
Lassen Sie uns das Gefühl von Spring Boot + Swagger 2.0 überprüfen
Verschiedene Korrespondenztabellen zwischen Spring Framework und Spring Boot
Endgültige Bestätigung, wenn die Ruby-Version nicht wechselt
Hinweise zu Anmerkungen beim Schreiben von Tests für Spring Boot
Erkennt die Bibliothek bei der Implementierung von jcaptcha nicht
[Überprüfung] Vergleich der Spring Boot- mit der Micronaut-Boot-Geschwindigkeit
[Railways] Railways funktioniert nicht, wenn sich das RubyMine-Projektstammverzeichnis nicht im Rails-Stammverzeichnis befindet.
Fordern Sie Spring Boot heraus
[Spring Boot] Die Geschichte, dass die Bean der Klasse mit der Annotation ConfigurationProperties nicht gefunden wurde
Spring Boot Form
Spring Boot Denken Sie daran
gae + frühlingsstiefel
Im Warndialog beim Starten des Applets funktioniert die Prüfung "Beim nächsten Mal nicht anzeigen" nicht
Passen Sie die Anzeige an, wenn im Spring Boot ein Fehler wie 404 Not Found auftritt
Geben Sie die statische Ressourcencodierung in Spring Boot an
Untersuchte asynchrone Ausführung von Abfragen in Spring Boot 1.5.9
Ein Memorandum über die Sucht nach Spring Boot2 x Doma2
Greifen Sie mit jdbcTemplate auf das integrierte h2db des Spring Boot zu
05. Ich habe versucht, die Quelle von Spring Boot zu löschen
Hinweis: Memory Analyzer funktioniert unter Mac OS nicht
Ich habe versucht, die Kapazität von Spring Boot zu reduzieren
Wenn Docker für Mac 2.4.0.0 keine Dateiänderungen widerspiegelt
Verwendung von CommandLineRunner im Spring Batch von Spring Boot
[Hinweis] Wenn die Seitenzugriffsgeschwindigkeit nicht erhöht wird
Ein Memorandum beim Erstellen eines REST-Service mit Spring Boot
Erstellen Sie Restapi mit Spring Boot (bis zum Ausführen der App)
Booten nach Umgebung mit Spring Boot of Maven
Geben Sie spring.profiles.active über context-param in web.xml in Spring Boot an
Hivernate Validator funktioniert nicht in der WAS Liberty-Umgebung
Datei-Upload mit Spring Boot (keine mehrteilige Datei verwenden)