Мне нужно иметь возможность вставлять / обновлять объекты с постоянной скоростью не менее 8000 объектов каждые 5 секунд в базе данных HSQL в памяти.
Я провел несколько сравнительных тестов производительности между Spring / Hibernate / JPA и чистым JDBC. Я обнаружил существенную разницу в производительности с использованием HSQL. С помощью Spring / Hib / JPA я могу вставить 3000-4000 своих объектов размером 1,5 КБ (с отношением One-Many и Many-Many) за 5 секунд, а с прямым JDBC звонки, я могу вставить 10 000-12 000 тех же самых объектов.
Я не могу понять, почему существует такое огромное расхождение. Я много изменял настройки Spring / Hib / JPA, пытаясь приблизиться к производительности без удачи. Я хочу использовать Spring / Hib / JPA для будущих целей, расширяемости и потому, что отношения с внешним ключом (один-много и много-много) трудно поддерживать вручную; но требования к производительности, похоже, указывают на использование чистого JDBC.
Есть идеи, почему возникло такое огромное расхождение?