Я хочу, чтобы улучшить производительность кода здесь, у меня есть это работает:Как спросить JPA о накоплении транзакций?
List<Doctor> team = doctorService.getAll(); team.stream() .filter(doctor -> !doctor.equals(msg.getSender())) .forEach(doctor -> { ChatMessageTeam chatMsg = new ChatMessageTeam(); chatMsg.setDoctor(doctor); chatMsg.setMessage(msg); rep.save(chatMsg); });
rep
является JPA хранилище собственной сборки.
И я хочу параллелировать этот поток, но когда я поместил .parallel
в поток, у меня появилась ошибка, как я увидел, потому что диспетчер объектов не подготовлен к этому. Поэтому я думаю (и не выяснил, как), что я могу сделать, это аккумулировать транзакции и объединить все их вместе в одном запросе. Другие предложения приветствуются.
Спасибо за ваше время, читая это!
Является ли 'rep' самодельным хранилищем? Используете ли вы какую-либо фреймворк/библиотеку, помогающую вам с вашей настойчивостью? В зависимости от этого вы можете объявить одну транзакцию, в которой вы будете выполнять свои сейвы. – oschlueter
Да, это репозиторий для самостоятельной сборки, я добавлю это в вопрос. И библиотекой, которую я использую, является JPA. –