Сопоставление коллекций, подобных MyBatis, с использованием режима гибернации

#java #hibernate #mybatis

Вопрос:

Предположим, у меня есть 2 сущности с 1-М отношениями — Учетными записями(1) и адресами (M). Используя MyBatis select, я могу использовать коллекцию в результирующей карте для сопоставления нескольких записей(или объектов) адресов с 1 записью(или объектом) учетных записей, в которых находятся учетные записи.Id = Адреса.Идентификатор учетной записи и, таким образом, возвращает 1 отдельный объект учетных записей с коллекцией адресов, заполненной соответствующими записями.

Например, в таблице учетных записей есть 1 запись, а в адресах-2 записи, и я пишу запрос

 select * from Accounts a join Addresses ad on a.Id = ad.AccountId
 

MyBatis вернет 1 объект учетных записей с 2 адресами, добавленными в его коллекцию. т. е. Адреса(дочерние), сопоставленные с учетными записями(родительскими). Конечно, MyBatis также получает 2 записи для ОБЪЕДИНЕНИЯ, но функция сопоставления коллекций снимает с нас эту скучную часть, в которой вы вручную сопоставляете учетные записи с их адресами.

Есть ли у hibernate такая функция, при которой я могу указать ей, чтобы она предоставляла мне объекты, отображаемые отношениями между родителями и детьми?

Комментарии:

1. Я все время делаю это в MyBatis, но я не видел этого в Hibernate или JPA. Мне любопытно, как это можно сделать. 1