Я работаю над крупным проектом ERP, который имеет модель базы данных с примерно 2100 таблицами. С "всего" 500 таблицами, сопоставленными с Hibernate, приложение, развернутое на веб-сервере, занимает около 3 ГБ рабочей памяти.
Есть ли способ уменьшить объем памяти метамодели Hibernate при использовании этого большого количества таблиц в одном модуле сохранения? Или я должен просто отказаться от ORM и пойти с простым старым JDBC (или даже jOOQ)?
Сейчас я использую Hibernate 4.1.8, Spring 3.1.3, JBoss AS 7.1 и работаю с базой данных MSSQL.
Edit:
вывод гистограммы памяти JavaMelody - с 2000 сгенерированными тестовыми таблицами, которые немного меньше по объему от исходной модели db (следовательно, "только" 1,3 ГБ отработанной памяти)
Изменить 2:
Анализ кучи Java MAT: