Уровень распространения для нескольких методов транзакции, вызванных из нетранзакционного метода - PullRequest
1 голос
/ 11 апреля 2019

Я просматривал эту статью https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/transaction.html#tx-propagation

У меня были сомнения относительно того, что происходит, когда из нетранзакционного метода вызывается несколько @Transactional методов.

ADao.java
@Transactional(readOnly=true)
public A getA()

@Transactional
public A insertA()

AService.java
public void getAndInsertA() {
    aDao.getA();
    aDao.insertA();
}

Isмое понимание верно, когда я говорю, что оба этих вызова getA() и insertA() будут частью отдельных транзакций?

Другой вопрос, возможно ли, чтобы оба запроса использовали одно и то же соединение с БД?

1 Ответ

0 голосов
/ 11 апреля 2019

Да, ваши запросы не находятся в одной транзакции. Если хотите, аннотируйте свой сервис с помощью @ Transactional.

А может быть. У вас есть пул соединений, вы на самом деле не знаете, будут ли ваши транзакции использовать то же соединение. Но это не так важно, правда?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...