Uma lista, se não houver uma coluna de índice especificada, será tratada como um pacote pelo Hibernate (sem ordem específica).
Uma diferença notável no manuseio do Hibernate é que você não pode buscar duas listas diferentes em uma única consulta. Por exemplo, se você tiver uma Person
entidade com uma lista de contatos e uma lista de endereços, não será capaz de usar uma única consulta para carregar pessoas com todos os seus contatos e todos os seus endereços. A solução neste caso é fazer duas consultas (o que evita o produto cartesiano), ou usar a em Set
vez de a List
para pelo menos uma das coleções.
Geralmente é difícil usar Sets com Hibernate quando você precisa definir equals
e hashCode
nas entidades e não tem uma chave funcional imutável na entidade.