Ответ 1
Список, если не указан указанный индексный столбец, будет обрабатываться только как сумка Hibernate (без определенного заказа).
Одна заметная разница в обработке Hibernate заключается в том, что вы не можете получить два разных списка в одном запросе. Например, если у вас есть объект Person
, имеющий список контактов и список адресов, вы не сможете использовать один запрос для загрузки лиц со всеми их контактами и всеми их адресами. Решение в этом случае состоит в том, чтобы сделать два запроса (которые позволяют избежать декартового произведения) или использовать Set
вместо List
для хотя бы одной из коллекций.
Часто бывает сложно использовать Sets with Hibernate, когда вам нужно определить equals
и hashCode
для сущностей и не иметь неизменяемого функционального ключа в сущности.