Ich habe ein seltsames Verhalten der Feder DB-Transaction-Handling Ich versäume es, meinen Kopf zu wickeln.JPA-Repository lesen Zugriff Commits äußere Transaktion
den folgenden Code Gegeben:
@Transactional
public void saveDocumentToDB() {
dbService.addNewEntity('123', 'helloWorld');
DbEntity dbEntity = dbService.getEntityByID('someId');
throw new RuntimeException();
}
Wo dbService
einige @Service
-Klasse mit Zugang zu einem JPA- CrudRepository
.
Mein Problem: Die getEntityByID
-Methode, die wiederum eine Methode auf dem automatisch generierten Repository-Objekt aufruft, schreibt die Transaktion fest und schreibt so den ersten 'add'-Aufruf in die Datenbank.
Ohne diesen Aufruf wird die Transaktion wieder schön gerollt ...
Haben Sie einen Rat, wie die automatisch generiert, um CRUD-Methoden, um die Transaktion als auch respektieren?