Реализуют ли фреймворки ORM, такие как hibernate, какой-либо тип rowmapper при выполнении итерации по набору результатов? - PullRequest
0 голосов
/ 10 октября 2018

Реализуют ли каркасы ORM, такие как hibernate, какой-либо тип rowmapper, перебирая набор результатов?Если не реализовано отображение строк, выполняют ли они, по крайней мере, итерацию набора результатов при создании списка объектов, или они напрямую получают список объектов как набор результатов?т. е. внутренняя обработка createQuery("from Employee").getResultlist();

. И если мы используем собственный запрос, он напрямую возвращает набор результатов или выполняет итерацию по набору результатов и возвращает список массивов объектов, т. е. List<Object[]>?

1 Ответ

0 голосов
/ 10 октября 2018

Если вы спрашиваете, использует ли Hibernate какое-то объектно-ориентированное расширение при запросе: Hibernate работает со многими базами данных, он не может использовать расширения вендоров OO, потому что они не будут стандартизированы.

Если вы посмотрите на аннотации или сопоставления для сущности, они сообщают, в какой столбец сопоставляется каждое свойство.Так что да, у него есть функция отображения строк, где он генерирует запрос, сопоставляет столбцы со свойствами и заполняет сущности из него.

Вы можете увидеть генерирование SQL Hibernate, установив уровень журнала для регистратора org.hibernate.sql равным DEBUG.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...