Я пытаюсь получить 1000 строк, используя Hibernate createNativeQuery.Запрос содержит два объединения.Когда я выполняю то же самое в SQL-разработчике, я вижу, что ответ приходит менее чем за 400 мс, но из кода требуется 20 секунд, чтобы получить результат.
Таблица
Идентификатор сотрудника, имя, идентификатор страны, dept_id
Страна - идентификатор, имя страны, office_count, инфляция_100 *
Депт - идентификатор,dept_name, manager
String queryStr = "Select e.id as id, e.name as empName, c.country_name AS countryName,
d.dept_name AS deptName FROM owner.Employee AS e LEFT OUTER JOIN owner.Country c
ON e.country_id = c.id LEFT OUTER JOIN owner.Dept AS d ON e.country_id = d.id";
List<Object[]> rows = this.getSession().createNativeQuery(queryStr).setMaxResults(1000)
.addScalar( "id", StringType.INSTANCE )
.addScalar( "empName", StringType.INSTANCE )
.addScalar( "countryName", StringType.INSTANCE )
.addScalar( "deptName", StringType.INSTANCE )
.list();
Какая дополнительная обработка, выполняемая Hibernate, может вызывать эту задержку?Можно ли как-нибудь оптимизировать код?