Данные Spring-boot, которые jpa считывает из базы данных до завершения вставки - PullRequest
0 голосов
/ 29 мая 2020
@Transactional
    public void save(String myIds) 
    {
            synchronized (this) 
            {
                List<mydata> data = getDataToSaveOrUpdate(myIds);//Returns the new dataList and updates old data
                repository.saveAll(data);
                logger.info("request processed");
            }
        logger.debug("exiting the method");
    }

Когда этот метод вызывается в двух отдельных запросах от почтальона, что происходит, синхронизированный блок завершается, но выполняется вставка, и второй запрос начинает чтение из базы данных. Таким образом, второй поток находит одни и те же данные для вставки как в запрос, так и в дать уникальную ошибку нарушения ключа, как мы должны решить эту проблему в данных springboot jpa hibernate

...