私はSpring DBトランザクション処理の奇妙な動作をしています。 dbService
がJPA- CrudRepository
へのアクセス権を持ついくつかの@Service
級であるJPAリポジトリの読み取りアクセスは外部トランザクションをコミットします
@Transactional
public void saveDocumentToDB() {
dbService.addNewEntity('123', 'helloWorld');
DbEntity dbEntity = dbService.getEntityByID('someId');
throw new RuntimeException();
}
:
は、次のコードを考えます。
問題:getEntityByID
-Methodが自動的に生成されたリポジトリオブジェクトのメソッドを呼び出すと、トランザクションがコミットされ、最初の 'add'-callがデータベースに書き込まれます。
この呼び出しがなければ、トランザクションはバックきれいに巻かれ...あなたが自動生成されたCRUD-メソッドを作成する方法のアドバイスを
を持っていますが、同様の取引を尊重?私のapplication.propertiesで