У меня есть любопытная маленькая проблема.У меня есть служба, которая должна создать 2000 записей в базе данных, минимум на разных таблицах.Хотя было бы неплохо, чтобы они выполнялись в одной и той же транзакции, производительность может быть очень плохой - около 400-600 вставок.
По какой-то причине вставки идут медленнее и медленнее.Я полагаю, что Hibernate необходимо выполнить какую-то грязную проверку ... и поскольку графы объектов становятся все более и более сложными, само собой разумеется, что Hibernate имеет все больше и больше работы.
Это становится действительно плохопотому что у нас есть одна служба, которая в основном импортирует 200 мегабайт данных XML в базу данных, что приводит к примерно 70 000 вставок.Это займет около 1,5 часов.
Итак, в Spring есть способ, которым я могу сказать: "Держите сеанс гибернации открытым, потому что мы хотим, чтобы ленивая загрузка и все работало ... но неположить что-нибудь в транзакцию? "