Я делаю бенчмарк между двумя приложениями, один из которых построен с JPA 2/Hibernate 4
, а другой - с JDBC
. В целом, различия не слишком велики (меньше, чем на порядок). Единственное исключение - когда я получаю записи по первому ключу.
Использование JDBC составляет менее 10 мс, а с использованием Hibernate - менее 60 мс. Я установил ehcache, но для этого конкретного запроса разница остается прежней.
Есть ли какой-нибудь трюк или хак, который мне не хватает?Поиск по первичному ключу с Hibernate/JPA против JDBC
--- Отредактированный
отображение JPA и классы построены с Hibernate Tools, и в этом нет ничего особенного о них. JDBC восстанавливает объекты PL/SQL из Oracle (которые, как я тестировал на других тестах, медленнее, чем восстановление исходных данных).
Когда сложность теста возрастает, сравнение между обеими технологиями становится более четным, и в конечном итоге Hibernate/JPA лучше подходит для некоторых тестов (например, для восстановления множества сложных объектов).
Дело в том, что я не могу совершать какие-либо операции с Hibernate/JPA, что занимает меньше времени, чем около 60 мс. Похоже, что существует минимальное количество времени, которое Hibernate/JPA берет на выполнение наименее дорогостоящей транзакции (в этом случае восстановить запись по PK). Есть ли способ уменьшить это время?
вы можете добавить простой пример (определение компонента, таблица создания скриптов ...)? – esmoreno
Определения bean создаются с помощью Hibernate Tools – Andres
Пожалуйста, добавьте определение компонента и связанную таблицу сценариев – esmoreno