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