У меня есть один метод, который сначала получает последний идентификатор из моей таблицы по одному типу.
затем я устанавливаю свой бин с этим номером и сохраняю
Long number = geradorProtocoloService.getNumero(protocolo.getTipo()
protocolo.setNumber(number);
protocolo = protocoloRepository.saveAndFlush(protocolo);
Я поместил этот код в синхронизированный блок
synchronized (this) {
protocolo.setNumero(geradorProtocoloService.getNumero(protocolo.getTipo());
protocolo = protocoloRepository.saveAndFlush(protocolo);
}
метод имеет больше логики (сохраните файл и т. Д.), Затем верните его моему пользователю
но когда я запускаю свои тесты, он несколько раз ловит одно и то же число (цифра), я думаю, это происходит потому, что jpa не фиксирует мою транзакцию при выполнении saveAndFlush.
Так как я могу сделать так, чтобы все в моем блоке синхронизации было зафиксировано с помощью jpa
ТКС