Hibernate 4 здесь.
Сценарий прост: два класса, один Master
, один Detail
.Одиночный Master
может иметь ноль или более Details
.
На определенной странице поиска пользователь заполняет некоторые параметры поиска и дает команду на поиск.После поиска некоторые экземпляры Master
возвращаются и отображаются в таблице, каждый Master
в строке таблицы.
Для каждой строки в этой таблице представлен атрибут «name» Master
и атрибут "name" каждого Detail
также представлен.
Все вышеперечисленное прекрасно работает!
Fact : для визуализации одной строки таблицы, существует новый запрос для извлечения всех Detail
экземпляров для Master
в этой строке.
Журнал Hibernate показывает, что на сервер данных отправляется много предложений SQL, по одному для каждого Master
, используяего идентификатор для загрузки всех его Details
экземпляров.
Fact : вполне вероятно, что для загрузки всех экземпляров Detail
для всех экземпляров Master
может быть отправлено одно предложение.в предложении SELECT с использованием оператора in .
Вопрос : поскольку Hibernate уже знает все Master
(и их идентификаторы), есть ли способ проинструктироватьHibernate для загрузки всех экземпляров Detail
в одном запросе?
Hibernate 4 поддерживает это?Как его активировать?