Весенняя проблема производительности JPA при сохранении с EntityManager - PullRequest
0 голосов
/ 07 апреля 2020

Я новичок в Spring JPA, потерпите меня, если я что-то не так сделал.

У меня есть хранилище DAO для выполнения собственного запроса:

@Repository
public class TestingDAO {
    @Autowired
    private EntityManager entityManager;

    public void createNewFoos(Long fooId, Long barId) {
        if (ebuId == null) return;
        String insertQuery = "INSERT INTO FOO_BAR(foo_id, bar_id) values (" + fooId + "," + barId + ")";
        Query query = entityManager.createNativeQuery(insertQuery);
        query.executeUpdate();
    }
}

FOO_BAR - это отношение стол с 2 фк. Я понял, что время выполнения метода createNewFoos продолжает увеличиваться, когда я вызываю его несколько раз в одной транзакции (для 10 000-й это даже занимает несколько секунд). Когда я использую репозиторий JPA для сохранения объекта-сущности (результат в db такой же), такой проблемы с производительностью не возникает.

Не могли бы вы объяснить, почему это происходит? Я что-то не так сделал?

Заранее спасибо за помощь!

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