Lista, jeśli nie została określona żadna kolumna indeksu, zostanie potraktowana jako zbiór przez Hibernate (brak określonej kolejności).
Jedną znaczącą różnicą w obsłudze Hibernate jest to, że nie można pobrać dwóch różnych list w jednym zapytaniu. Na przykład, jeśli masz Person
podmiot mający listę kontaktów i listę adresów, nie będziesz w stanie użyć jednego zapytania do załadowania osób ze wszystkimi kontaktami i wszystkimi adresami. Rozwiązaniem w tym przypadku jest wykonanie dwóch zapytań (co pozwala uniknąć iloczynu kartezjańskiego) lub użycie Set
zamiast a List
dla przynajmniej jednej z kolekcji.
Często trudno jest używać zestawów z hibernacją, gdy musisz zdefiniować equals
i hashCode
na encjach i nie masz niezmiennego klucza funkcjonalnego w encji.