У меня есть приложение Java, использующее структуру Hibernate OGM и базу данных Mongo. Когда я получаю много данных, приложение становится очень медленным, и одним из узких мест является Hibernate.
Я читал, что извлечение данных в контексте только для чтения значительно повышает производительность. Как я могу это сделать?
Я пробовал с вызовами методов следующим образом:
entityManager.lock(entity, LockModeType.READ);
or:
entityManager.createNativeQuery(query, entity)
.setLockMode(LockModeType.READ)
.getResultList();
но кажется там не поддерживаются.
Я не могу ждать 20 минут для нескольких мегабайт. Пожалуйста помоги! Каждое предложение приветствуется
В моем случае у меня есть дерево от одного ко многим ассоциациям. Запрос находится в корне, где для выборки задано значение LAZY. Затем я вызываю в потоке метод Hibernate.initialize(proxy) на втором уровне, где восстановление EAGER, на более глубокий уровень.