Я хочу понять, как hibernate выполняет hql-запрос внутренне или в других моделях, как работает механизм hql-запросов. Пожалуйста, предложите несколько хороших ссылок для того же?
Одной из причин для чтения является следующая проблема.
Class Branch
{
//lazy loaded
@joincolumn(name="company_id")
Company company;
}
Так как компания является тяжелым объектом, она загружается лениво.
теперь у меня есть запрос hql
"from Branch as branch where branch.Company.id=:companyId"
Меня беспокоит то, что если для запуска вышеупомянутого запроса движок hql должен извлечь объект компании, то это снижает производительность, и я бы предпочел добавить еще одно свойство в класс Branch, т.е. Таким образом, в этом случае запрос hql будет
"from Branch as branch where branch.companyId=:companyId"
Если механизм hql сначала генерирует sql из hql, а затем запускает сам запрос sql, то проблем с производительностью не должно быть.
Пожалуйста, дайте мне знать, если проблема не понятна.